fix double utf8 decoding on 5.8.8.
[clive.git] / CHANGES
blob738f4c756a5a50c1431fe18010b4807756e406b5
1 Version 2.2.8
3  User-visible changes:
4   * Fix UTF8 decoding on Perl 5.8.8 (closes issue #42)
5   * Sevenload:
6     # Fix http/401 error
7     # Cleanup title parsing (use config data instead)
8   * Croak with an error if BerkeleyDB module is not found
9     # And either -d or -g options are used
12 Version 2.2.7
13 (September 29, 2009)
15  User-visible changes:
16   * Fix: dailymotion id parsing
17   * Youtube:
18     # Accept -f fmt34
19     # fmt34 is now treated as yet another (new?) format
20     # Rewrite youtube section of the FORMATS in the manual
21   * Fix: --format=best not working with youtube (closes issue #39)
22     # Thanks to Peter Baranyi for the fix
24  Developer-visible changes:
25   * Disable: t/11redtube.t (broken, see known issues)
26   * "make test": ADULT_OK env.var. now enables redtube test
28  Known issues:
29   * redtube: broken (verify -> http/404)
32 Version 2.2.6
33 (September 14, 2009)
35  User-visible changes:
36   * Fix: liveleak: "error: Unsupported protocol (http/1)" (closes #36)
37   * Fix: vimeo: title parsing (Thanks to Peter Baranyi for the fix, closes #37)
38     - Fixes title issues with accented chars
39   * Fix: break: http/403 (Thanks to Werner Elsler for the fix, closes #38)
41  Developer-visible changes:
42   * t/11redtube.t: fix dead link
45 Version 2.2.5
46 (August 14, 2009)
48  User-visible changes:
49   * Add: --print-fname option
50   * Fix: dailymotion ID parsing
51   * Fix: --hosts: dailymotion: spak-mini -> spark-mini
52   * Zeropad ETA
54  Developer-visible changes:
55   * Correct copyright years and notices in source code
56   * tlinks/youtube-utf8.url: fix dead link
59 Version 2.2.4
60 (August 2, 2009)
62  User-visible changes:
63   * Add:
64     # --stream-pass option (port from cclive)
65     # funnyhub support
66       * Port from cclive
67     # myubo support
68       * Port from cclive
69     # clipfish support
70       * Thanks to Patrick Hoffmann <patrick@sobran.de> for data mining
71   * Fix:
72     # Misc. typos in manual
73     # Redtube support (videoid/title parsing issues)
74     # Dailymotion: spak-mini -> spark-mini
75   * Change:
76     # replace dashes ("-") with underscores ("_") in video ids
78  Developer-visible changes:
79   * Add:
80     # Host/Clipfish.pm
81     # Host/Funnyhub.pm
82     # Host/Myubo.pm
83     # t/16clipfish.t
84     # t/17funnyhub.t
85     # t/18funnyhub.t
86     # tlinks/clipfish.url
87     # tlinks/funnyhub.url
88     # tlinks/myubo.url
89   * Change:
90     # t/02youtube.t: test link (dead link)
91     # tlinks/ytube.url: ditto
92     # tlinks/multi.url: youtube: ditto
93   * Remove:
94     # tlinks/multi.lst
97 Version 2.2.3
98 (July 25, 2009)
100  User-visible changes:
101   * Add:
102     1. Support spiegel.de (closes issue #32) [thanks to anon for data]
103     2. Support golem.de (closes issue #33) [thanks to anon for data]
104     3. ~/.clive/config path support
105     4. --cookie-jar option
106     5. Support for ehrensenf.de (closes issue #34) [thanks to bjoern for data]
107   * Improve: unicode support (related to issue #29)
108     1. cctv: no longer requires -C and -R options (obsoletes -R)
109     2. --cclass: now works as expected with unicode as well
110   * Improve: backwards compatibility with clive 2.0, 2.1
111     1. Allow --format=(mp4|hd|hq|3gp) (closes Debian bug #535957)
112     2. Restore ~/.config/clive/config path support (closes Debian bug #535483)
113     3. Add --upgrade-config (2.0/2.1 config to 2.2+ format)
114   * Change:
115     1.  --hosts prints now supported formats
116     2. Pair --exec with --exec-run, the latter now triggers the former
117        2.1. Closes Debian bug #520520
118     3. Relocate files
119       3.1. ~/.clivelast -> ~/.cache/clive/last
120       3.2. ~/.clivecache -> ~/.cache/clive/cache
121     4. If HOME environment variable undefined, assume current workdir
122     5. --version: print locale etc.
123   * Fix:
124     1. --version: copyright years
125     2. File suffix for CCTV (.x-shockwave-flash -> .flv)
126     3. Remove "see examples" from pod markup (closes issue #30)
127     4. Prevent ".$suffix" output filenames
128       4.1. Use $id if !$title && %i was not defined in --filename-format
129       4.2. Related to issue #29
130     5. --no-proxy: really disable all proxy use (closes issue #25)
131       5.1. http_proxy setting was still used
132     6. Can't call method "filename" on unblessed reference at Exec.pm line 5x
133       6.1. e.g. clive URL --exec="ls;"
134       6.2. Closes Debian bug #535459
135     7. Dailymotion support (closes issue #35)
136     8. Redtube support (error: no match: `(?-xism:videoid=(.*?)')')
137   * Rename:
138     1. --recall, --recall-file -> --last, --last-file
139     2. CLIVE_HOME -> CLIVE_CACHE
140   * Remove:
141     1. -R, --raw (obsoleted by improved unicode support)
142     2. --home-dir option
143       2.1. Missleading name
144       2.2. Obsoleted by --cache-file and --last-file
145   * Manual page:
146     1. Add note about numeric suffix (closes issue #28)
147     2. Fix a number of typos, use better grammar
148     3. Overhaul
150  Developer-visible changes:
151   * Add:
152     * clive/Compat.pm
153     * clive/Host/Spiegel.pm
154     * clive/Host/Golem.pm
155     * clive/Host/Ehrensenf.pm
156     * t/06golem.t
157     * t/14spiegel.t
158     * t/15ehrensenf.t
159     * tlinks/golem.url
160     * tlinks/spiegel.url
161     * tlinks/ehrensenf.url
162   * New prerequisite: Config::Tiny
163     1. Required by --upgrade-config
164   * Makefile.PL:
165     1. Extract VERSION from lib/clive/Config.pm
166     2. Add "use warnings/strct"
167     3. chmod +x
170 Version 2.2.2
171 (July 9, 2009)
173  User-visible changes:
174   * Change: Google: --format=mp4/best
175     1. Default to flv if mp4 is not available
176     2. Fix --format=best support
178  Developer-visible changes:
179   * Add: t/$host.t: NO_INTERNET variable support (closes issue #24)
180   * Change: t/02youtube.t test link
181     1. Old dropped dead
182   * Remove: t/06lastfm.t
183     1. t/02youtube.t: includes the same test
186 Version 2.2.1
187 (June 21, 2009)
189  User-visible changes:
190   * Add: support for Vimeo (closes issue #19)
191   * Add: return codes for each error case (closes issue #22)
192   * Fix: return code is always 0 (closes issue #20)
193   * Change: --hosts output now matches cclive output
195  Developer-visible changes:
196   * Change: Cctv, Dailymotion, Liveleak -> use clive::Utils::matchRegExps
197   * Add: t/12error.t
200 Version 2.2.0
201 (June 14, 2009)
203 FOREWORD
204 --------
206 This release is a major overhaul aimed to fix the previous design flaws
207 and clean up the codebase. Note that 2.2.0 breaks compatibility with
208 the earlier versions of clive.
210 Most users will not notice much differences after upgrading to 2.2.0
211 but those users who have used clive for anything more than "clive URL"
212 should read the changes carefully. The summary of changes section
213 includes more detailed changes that is recommended reading for all
214 users and maintainers.
216 2.2.0 changes the license from ISC to GPLv3. The license was last
217 changed in 2.1.0 to ISC but has now been reverted back to GPLv3 after
218 some further consideration.
220 Config::Tiny has been replaced with Getopt::ArgvFile. The latter had
221 some advantages over Config::Tiny that lead to the switch. For example,
222 instead of trying to memorize the (often confusing) config variable
223 names, users can now use command line options in the config file.
225 This also means that everytime a new feature is added to the program,
226 we are no longer required to modify the code responsible for parsing
227 the config file. Using Getopt::ArgvFile also required adding only one
228 line of code to the project whereas Config::Tiny required several.
230 cache no longer reads by default. This means that --cache-read option
231 must be invoked for clive to read previously stored video records
232 from the cache. The change was made after seeing how most users found
233 the reading from cache too confusing and frequently reported expired
234 link errors such as HTTP 403 as bugs even though the behaviour was
235 documented in the manual page. DAERTM?
237 --emit-csv now outputs very few details about the videos. Only those
238 fields that are known to be any use are printed out.
240 2.2.0 also removes a number of less used features that have lingered
241 in the project since the 1.x. Most of these features were never
242 requested and have only been burdening the program codebase since
243 their introduction.
245 Part time hackers and/or developers will notice that clive now follows
246 a new OO design -- as well as Perl5 allows it. While there are still
247 some considerations regarding the design and limitations that could not
248 quite be ported from C++ used in cclive, WYSIWYG.
250 Package/port maintainers will want to read the README file. The previously
251 used GNU Makefile is no longer used and clive installation now depends on
252 ExtUtils::MakeMaker instead.
254 SUMMARY of CHANGES
255 ------------------
257  User-visible changes:
259   * License change
260     1. ISC -> GPLv3
261     2. Last changed in 2.1.0 (-> ISC)
263   * Slight improvements to program startup time
265   * Config file format changes (Config::Tiny -> Getopt::ArgvFile)
266     1. Command line options can now be used in config file
267     2. Breaks compatibility with previous versions 
268     3. Cleaner and new format allows using cmdline options in configs
269     4. Format was last changed in 2.0.0
270     Example:
271     -----------------------------------------------
272         # Config::Tiny: clive 2.0 - 2.1
273         cat >> ~/.config/clive/config
274         [http]
275             proxy = "http://foo:1234"
276         [output]
277             savedir = "/home/user/videos"
279         # Getopt::ArgvFile: clive 2.2
280         cat >> ~/.cliverc
281         --proxy="http://foo:1234"
282         --savedir="/home/user/videos"
283     -----------------------------------------------
285   * Fix: Redtube video title parsing
287   * Cache changes
288     1. Cache is now passive (read:no, write:yes)
289     2. Add: --cache- option prefix
290     3. New option: --cache-read, --no-cache
291     5. Rename: misc. options (e.g. --show -> --cache-dump)
292     6. Record field changes
293         o Breaks compatibility with previous versions 
294     7. New field delimiter '#'
295     8. New field order
297   * File path changes
298     1. ~/.config/clive/config -> ~/.cliverc
299     2. ~/.config/clive/recall -> ~/.clivelast
300     3. ~/.config/clive/cache -> ~/.clivecache
302   * --format changes
303     1. Add: --format=best support (closes  issue #15 )
304     2. Rename: mp4 -> fmt18 (Youtube)
305     3. Rename: Dailymotion ID spark -> flv
307   * Bugfixes
308     1. cURL error handling
309     2. Google mp4 support
310     3. Do not strip link params (closes debian bug #530659)
311     4. --format=fmt6 (no longer supported by Youtube?) 
312     5. Dailymotion ID parsing
314   * New options:
315     1. --home-dir
316     2. --recall-file
317     3. --cache-file
318     4. --no-cclass
319     5. --raw
320     6. --stop-after (closes issue #18)
322   * --emit-csv: changes to CSV fields (cleanup, print only the necessary fields)
323     1. clive 2.0 - 2.1:
324         page_link,          video_link,     filename,   file_length_mb,
325         file_length_bytes,  video_id,       time_stamp, page_title,
326         initial_length,     remaining_bytes
327     2. clive 2.2:
328         base_filename, file_length, video_link
330   * Remove options:
331     1. --savebatch
332     2. --renew (now obsolete)
333     3. --youtube-user (broken since 2.1)
334     4. --youtube-pass (...)
335     5. --no-login (...)
336     6. --clivepass (...)
337     7. --emit-xml
338     8. --background
339     9. --progress
340     10. --output
341     11. --append
342     12. --paste
343     13. --format=fmt6 
345   * Other changes:
346     1. Long options: aliases (e.g. --output_file | --output-file | --outputfile)
347     2. --filename-format: new specifiers, rename some of the old ones
348     3. --format: exit with an error if id is not recognized by clive
349     4. Rename: -r -> -l (--recall) 
350     5. Many short options have been removed (or reused)
352  Developer-visible changes:
354   * OO Perl5 style
356   * Change: use a custom perltidyrc (closes issue #17)
357     - Thanks to Tong Sun <suntong001@gmail.com>
359   * Prerequisite changes
360     1. Written for Perl 5.10.0
361         o 5.8 probably OK although unverified
362     2. New prerequisites
363         o Class::Singleton
364         o Getopt::ArgvFile 
365     3. Removed prerequisites
366         o Config::Tiny
367         o IO::Pager
368         o Expect
369         o Clipboard 
370     4. Optional modules (no changes from 2.1.14)
371         o BerkeleyDB
372         o Term::ReadKey
374   * Change: use decode_utf8 returned html only if html is valid utf8
376   * Installation changes
377     1. Makefile.PL (ExtUtils::MakeMaker) [see README]
379   * Remove files:
380     1. Makefile (obsoleted by Makefile.PL)
381     2. clive.pod (merged into bin/clive)
382     3. clive.1 (generated from bin/clive)
384   * Remove: binmode STDOUT, ":utf8"
386   * Remove: extra decode_utf8
389 Version 2.1.14
390 (May 25, 2009)
392  User-visible changes:
393   * Add: support for youtube-nocookie.com (closes issue #12)
394   * Add: fmt35 format ID for Youtube [closes issue #10 (and #13)]
395   * Fix: liveleak id parsing
396   * Rename: --format IDs for Youtube
397     ** mp4_hd -> fmt22
398     ** 3gpp -> fmt17
399     ** xflv -> fmt6
400   * Rename: --output-video -> --output-file
401   * Rename: output:file -> output:filename_format (config file)
402   * Remove: --overwrite option (use --output-file instead)
404  Developer-visible changes:
405   * Add: tests/ytube-nocookies.url
406   * Update: INSTALL
408  Other:
409   * 2.2.0 is under development, read more here:
410     http://code.google.com/p/clive/wiki/WhatsNew_2_2_0
413 Version 2.1.13
414 (May 16, 2009)
416  Developer-visible changes:
417   * Change: use perltidy defaults for style
418   * Change: BerkeleyDB and File::Path modules are now optional
419     ** Cache features depend on these modules
420   * Moved opted_mods initilization to init_opted_mods (-> loop)
423 Version 2.1.12
424 (May 9, 2009)
426  User-visible changes:
427   * Change: --connect-timeout, --connect-timeout-socks default -> 30s
428   * Fix: timeout after file transfer starts
429   * Fix: title parsing with custom character class (closes issue #8)
430   * Add: redtube support; thanks to anonprn2@gmail.com (closes issue #11)
431   * Fix: typo in --emit-xml --help string
434 Version 2.1.11
435 (April 29, 2009)
437  User-visible changes:
438   * Change: --youtube-pass: prompt for password if left undefined
439   * Change: --filename-format: default -> "%t.%s"
440   * Fix: "Use of uninitialized value $opts{"ytpass"} ..."
441   * Add new options:
442     ** --connect-timeout
443     ** --connect-timeout-socks
444   * Cleanup: manual page
446  Developer-visible changes:
447   * Rename: auth_youtube subroutine -> loginto_youtube
449  Known-issues:
450   * Youtube login does not work (throw an error, patches welcome!)
453 Version 2.1.10
454 (April 4, 2009)
456 NOTE: This release changes the clive status messages. This will likely
457 break compatibility with utilities that depend on these messages.
458 The changes were made to enable using abby (0.2.0+) as a front-end
459 for clive.
461  User-visible changes:
462   * Add abby (front-end) compatibility
463     - Change output similar to cclive
464     - http://code.google.com/p/abby/
465   * Add Youtube HD support (--format=mp4_hd)
466     - Thanks to bf for the patch (via FreeBSD ports)
467   * Add tv.cctv.com support [issue #6]
468     - Thanks to suntong001 for data mining
469   * Add new options
470     - --limit-rate (config: [http]:limit_rate)
471     - --hosts (print supported hosts to stdout)
472     - --stderr (redirect all output to stderr instead of stdout)
473   * Improve file suffix parsing from content-type
474     - Rewrite the content-type handling block in query_video_length
475     - Use whatever is found after slash in the content-type string
476     - Use "flv" for exceptions (e.g. octet-*, x-flv, etc.)
477   * Replace dashes in video IDs with underscores before using them in fnames
478   * Change --version output
479   * Fix reading from stdin (closes Debian #522422)
480     - Assume reading from stdin only if queue and argv arrays are empty
481   * Fix exit with status code
482     - Exit 0 on success, and >0 if an error occurs
484  Developer-visible changes:
485   * Update examples/config with limit_rate
486   * Rename: configrc -> examples/config
487   * Replace the monstrous if-elsif-$host code block with a loop
490 Version 2.1.9
491 (March 27, 2009)
493  User-visible changes:
494   * Fix GoogleVideo "id not found" handling
495     - Symptom: exit after "process page..." message
496     - Cause: no check for undefined id value
497   * Fix GoogleVideo support
498     - Symptom: see above fix
499     - Cause: HTML changes to the video pages
500   * Fix URI::Escape import for GoogleVideo redirects
501     - Symptom: crash with "Undefined subroutine &URI::Escape::uri_unescape"
502     - Cause: recent script start optimizations; a missing 'require'
503   * Fix Break support
504     - Symptom: "expected different content-type"
505     - Cause: website content-type changes
507  Developer-visible changes:
508   * Cleanup code (style-wise)
509     - perltidy -gnu -l=72
512 Version 2.1.8
513 (March 24, 2009)
515  User-visible changes:
516   * Keep URL queue order
517     - Remove duplicate URL checking
518   * Remove --modver, change --version output
519   * Update manual page (clive.1, clive.pod)
520     - Rewrite EXAMPLES section
521     - Cleanup other sections
522   * Config file: add support for [output]:format (--format)
523   * Port dailymotion support from cclive
525  Developer-visible changes:
526   * Makefile changes:
527     - Replace Perl module checking with for-loops (incl. optional)
528   * Optimize script start time
529     - Replace "use $module" with "require $module" where possible
530   * Update LICENSE, configrc
531     - Cosmetic changes
532     - Add [output]:format to configrc
533   * Add tests/dmotion.url
536 Version 2.1.7
537 (March 15, 2009)
539  User-visible changes:
540   * Add --output-video option
541   * Add option groups to --help output
542   * Add --stream-exec and --stream options
543     - Ported from cclive
544   * Config file: add support for
545     - [commands]:exec (--exec)
546     - [commands]:stream (--stream-exec)
547     - See configrc for an example
548   * Fix --exec; should no longer spew out "not found" shell errors
549   * Change default filename format to "%t_%d_%i.%s"
550   * Change to use "file is already fully retrieved" error message
551   * Port resizing progressbar from cclive
553  Developer-visible changes:
554   * Add tests/lastfm.url and tests/multi.lst
555   * Remove XML::Simple dependency
556     - Use regex instead
557   * Implement SIGWINCH handling
558     - Resize progressbar to match terminal width
559     - Progressbar width defaults to 80 (chars)
560     - OS must support SIGWINCH
561     - Requires Term::ReadKey module
562       - clive works without the module but will ignore any SIGWINCH events
563   * Touch cclive.1, cclive.pod, INSTALL and Makefile files
564   * Clean up regex
566  Other changes:
567   * Buried clive-list, grew weary of fighting spam with bare fists
568     - email the author directly or use the issue tracker, thanks
571 Version 2.1.6
572 (February 19, 2009)
574  User-visible changes:
575   * Renamed the following options
576     - --noproxy => --no-proxy
577     - --noextract => --no-extract
578     - --nologin => --no-login
579   * Butchered --help output
580     - much less verbose now
581     - relocated manual page data to clive.pod
582   * Removed --manual option
583   * Obsoleted "play" and "rencode" config keys in "commands" section
584   * Added --exec option which resembles cclive's --exec command
585   * Removed --play, --noplay, --rencode and --norencode options
586     - use --exec instead
587   * Changed --paste short option from '-x' to '-p'
588   * Removed wmv format (breakcom)
589     - persistant HTTP/404 (not found) error
591  Developer-visible changes:
592   * Makefile changes
593     - additional INSTALL variables
594     - added WITH_CHECK
595     - can be used to disable module checks
596     - removed "man" from "all"
597     - removed "clean" (useless)
600 Version 2.1.5
601 (February 6, 2009)
603  User-visible changes:
604   * Fixed sevenload support
607 Version 2.1.4
608 (February 1, 2009)
610  User-visible changes:
611   * Fixed Youtube login which sometimes reported failed attempts as OK
612     - Youtube defaults web interface language based on users ip
613     - clive looks for English words in the post-login page to confirm login
614   * Tweaked --version output
616  Developer-visible changes:
617   * Removed metacafe remnants
618   * Fixed bug in time2str subroutine which caused incorrect calculations
619   * Updated INSTALL
620   * removed genman script (obsoleted by "make man")
621   * Added a rudimentary (GNU) Makefile
622   * Cleaned up translate_embed subroutine
624  Other changes:
625   * Removed the clive-announce and clive-users mailing lists
626     - New release announcements will be posted via Freshmeat alone from now on
627     - Subscribe to the project at http://freshmeat.net/projects/clive
628   * Created the clive-list@googlegroups.com mailing-list
629     - For support questions, patches and bug reports
630     - Issue tracker will remain for tracking bugs
631     - Send an email to clive-list-subscribe@googlegroups.com to subscribe
634 Version 2.1.3
635 (January 9, 2009)
637  User-visible changes:
638   * Documented missing "%t" (--filename-format) in manual page
639   * Tweaked "localfile_length == remotefile_length" message
640   * Renamed CLIVE_CONFIGDIR environment variable to CLIVE_HOME
642  Developer-visible changes:
643   * Cleaned up manual page
644   * Added LICENSE file
645   * Cleaned up FreeBSD details (INSTALL)
648 Version 2.1.2
649 (December 29, 2008)
651  User-visible changes:
652   * Removed "See --manual" from --version output
653   * Added support for evisortv
654     - http://code.google.com/p/clive/issues/detail?id=4
655   * Fixed: reused incorrectly last http error code for remaining urls in queue
656   * Fixed: progressbar reported 100% even if error had occurred (e.g. http/403)
658  Developer-visible changes:
659   * Cleaned up subroutines
662 Version 2.1.1
663 (December 19, 2008)
665  User-visible changes:
666   * Fixed "Requested range was not delivered by the server (http/33)" w/ -c
667     - this would occur with a batch of URLs while using the --continue option,
668     e.g. if the first file was continued, the following page fetches exited
669     with the above error
670   * Added --savebatch option
671   * Added --overwrite option
672   * Replaced the buggy progressbar with a "lazy man's progressbar"
673   * Fixed "print() on closed filehandle STDOUT" with --grep+delete
674   * Fixed progressbar display with --continue
676  Developer-visible changes:
677   * Updated INSTALL
678   * Started to bundle src tarball with clive.1 manual page
679   * Added genman script which wraps pod2man with common options
680   * Fixed a potential div by zero bug in calc_progress
683 Version 2.1.0
684 (December 10, 2008)
686  NOTE: Changed license GPL3 => ISC/OpenBSD.
688  User-visible changes:
689   * Added --modversion option
690   * Replaced Term::Progressbar with a built-in thermometer progressbar
691   * Removed --progress=bar:nominor support due to above changes
692   * Added liveleakcom support
693     - http://code.google.com/p/clive/issues/detail?id=3
695  Developer-visible changes:
696   * Made IO::Pager module optional
697   * Removed COPYING
698   * Cleaned up --progress option description
699   * Changed to require WWW::Curl 4.05+
700   * Removed Term::Progress module dependency
701   * Fixed a potential bug in calc_progress (improper $rate init)
702   * Updated INSTALL
703   * Made Expect module optional
706 Version 2.0.0
707 (December 2, 2008)
709  User-visible changes:
710    * Fixed gvideo/mp4 support (http/404 even if the extraction link existed)
711    * Changed "found redirect" message
712    * Changed --play, --rencode status messages to use file basename
714  Developer-visible changes:
715    * decode_utf8($page): removes extra steps, works better with HTML::TokeParser
716    * Added missing Expect module version to INSTALL
719 Version 2.0beta4
720 (November 22, 2008)
722  Notes:
723    This aims to be the last beta before the release of 2.0 in December 2008.
724    Please report any remaining bugs to the issue tracker at:
725      http://code.google.com/p/clive/issues/list
727  User-visible changes:
728    * Removed metacafe support until fixed (see known issues)
729    * Changed Youtube login to report if there were "too many login failures"
730    * Fixed Youtube login support: reported failures incorrectly as OK
731    * Added support clivepass(1) utility (http://code.google.com/p/clive-utils)
732    * Added support for metacafe and sevenload embed URL translation
734  Developer-visible changes:
735    * Added TODO file
736    * New prerequisite module: Expect
737    * Updated FreeBSD + Ubuntu details (INSTALL)
738    * Cleaned up some code
739    * Rewrote embed URL translation
741  Known issues:
742    * Metacafe support broken (http/404)
745 version 2.0beta3
746 (November 1, 2008)
748  User-visible changes:
749   * Fixed pasting from clipboard containing multiple URLs
750   * Fixed page fetch progress glitch that occured with 1+ batches
751   * Added --agent option
752   * Added --proxy option
753   * Added --savedir option
754   * Added --cclass option
755   * Added --filename-format option
756   * Added --show-format option
757   * Added --youtube-user and --youtube-pass options
758   * Added --emit-xml option
759   * Added --progress=[none|bar|dot]
760   * Replaced --noprogress with --progress=none
761   * Added avg. transfer rate notification
762   * Fixed filename printing for existing output files (e.g. output.flv.1)
763   * Added --play option
764   * Fixed metacafe support (error: failed to extract videoCDNURL)
765   * Added --rencode option
767  Developer-visible changes:
768   * Ported --emit-csv option from 1.x with minor changes
769     - Backwards compatible with 1.x
770     - Prints additional video details
771         - $length, $video_id, $time_stamp, $page_title, $cont_from, $remaining
772   * Changed to prefer 'dot' bar if the output is not a TTY
773   * Replaced progress bar with Term::ProgressBar (new module prerequisite)
774   * Cleaned up queue processing subroutine
777 Version 2.0beta2
778 (October 15, 2008)
780  User-visible changes:
781   * clive now ignores input lines that start with the '#' character
782   * Added support for CLIVE_CONFIGDIR environment variable
783   * Ported lastfm video support from 1.x
784   * --version now displays XML::Simple
785   * Changed "= Play:" to "=> Playing ..."
786   * Playing occurs now subsequently after going over the URL batch
788  Developer-visible changes:
789   * Removed a google video redirect (commented out, see code)
790   * Added the AUTHORS file
791   * XML::Simple was missing as a prerequisite in INSTALL
792   * Made minor syntactic tweaks to the source code
793   * Fixed missing --quiet check with the "=> Play" message
796 Version 2.0beta1
797 (September 23, 2008)
799 A complete overhaul and rewrite of 1.x.
801  User-visible changes:
802   * Users are expected to use the --continue/-c option to resume transfers
803   * Configuration file format (=> INI), path was changed (=> ~/.config/clive)
804   * All extractions now assume flv as the default download format
805   * Users are expected to understand when/how use the --format/-f option
806   * Reading input from multiple sources is possible (e.g. % clive -x URL URL)
807   * Added: --grep: used to grep and recall cached URL entries
808   * Added: --background and --output=logfile, --append=logfile options
809   * Many old cmdline and config options were removed due to new design
810   * Improved GoogleVideo support: handles redirects to other hosts
811   * Pager is used where needed (e.g. --show/-s)
812   * Changed default output file naming format to "%n-(%i)-[%d].%s"
813   * Removed: guba (deadweight), myvideo (borked), dmotion (bitches @ anon users)
815  Developer-visible changes:
816   * Python => Perl
817     - See the INSTALL file for prerequisites
818   * No installation: all-in-one script (excl. the 3rd party modules)
819   * Cache is now an integral part of clive, see CACHE in the manual page
820   * Embedded the --manual page (Pod)
821   * Improved Youtube login: removed is_adult HTTP get (done manually now)
822   * Grab the file suffix from the Content-Type header
823   * Improved GoogleVideo support: mp4 detection no more relies on English words
824   * Improved Metacafe support: removed unnecessary "familyfilter" HTTP get
826  Other:
827   * Project: moved
828     - 2.x+ at http://googlecode.com/p/clive/
829     - 1.x remains at http://gna.org/projects/clive
830   * Tarballs: moved
831     - 2.x+ at http://googlecode.com/p/clive/
832     - 1.x remain at http://dl.gna.org/clive
833   * Website: moved
834     - http://clive.sf.net/
835     - http://home.gna.org/clive redirects to the above
836   * SCM: SVN => Git
837     - 2.x+ at git://repo.or.cz/clive.git
838     - 1.x remains at svn://svn.gna.org/svn/clive
839   * Issue tracking: Moved
840     - 2.x+ at http://googlecode.com/p/clive/issues/
841     - 1.x bug tracker remains at http://gna.org/projects/clive
842   * Created http://googlegroups.com/group/clive-announce/
844 NOTE: See http://dl.gna.org/clive/CHANGES for 1.x.