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