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