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