Update TODO.
[clive.git] / CHANGES
blob4c0a0c5bc74eb521dfe7c234dcb47154f231b0f6
1 Version 2.2.0
3 Rewrite of 2.1 and code clean up. There have been many changes.
4 For a complete list of changes, please see:
5   http://code.google.com/p/clive/wiki/WhatsNew_2_2_0
8 Version 2.1.14
9 (May 25, 2009)
11  User-visible changes:
12   * Add: support for youtube-nocookie.com (closes issue #12)
13   * Add: fmt35 format ID for Youtube [closes issue #10 (and #13)]
14   * Fix: liveleak id parsing
15   * Rename: --format IDs for Youtube
16     ** mp4_hd -> fmt22
17     ** 3gpp -> fmt17
18     ** xflv -> fmt6
19   * Rename: --output-video -> --output-file
20   * Rename: output:file -> output:filename_format (config file)
21   * Remove: --overwrite option (use --output-file instead)
23  Developer-visible changes:
24   * Add: tests/ytube-nocookies.url
25   * Update: INSTALL
27  Other:
28   * 2.2.0 is under development, read more here:
29     http://code.google.com/p/clive/wiki/WhatsNew_2_2_0
32 Version 2.1.13
33 (May 16, 2009)
35  Developer-visible changes:
36   * Change: use perltidy defaults for style
37   * Change: BerkeleyDB and File::Path modules are now optional
38     ** Cache features depend on these modules
39   * Moved opted_mods initilization to init_opted_mods (-> loop)
42 Version 2.1.12
43 (May 9, 2009)
45  User-visible changes:
46   * Change: --connect-timeout, --connect-timeout-socks default -> 30s
47   * Fix: timeout after file transfer starts
48   * Fix: title parsing with custom character class (closes issue #8)
49   * Add: redtube support; thanks to anonprn2@gmail.com (closes issue #11)
50   * Fix: typo in --emit-xml --help string
53 Version 2.1.11
54 (April 29, 2009)
56  User-visible changes:
57   * Change: --youtube-pass: prompt for password if left undefined
58   * Change: --filename-format: default -> "%t.%s"
59   * Fix: "Use of uninitialized value $opts{"ytpass"} ..."
60   * Add new options:
61     ** --connect-timeout
62     ** --connect-timeout-socks
63   * Cleanup: manual page
65  Developer-visible changes:
66   * Rename: auth_youtube subroutine -> loginto_youtube
68  Known-issues:
69   * Youtube login does not work (throw an error, patches welcome!)
72 Version 2.1.10
73 (April 4, 2009)
75 NOTE: This release changes the clive status messages. This will likely
76 break compatibility with utilities that depend on these messages.
77 The changes were made to enable using abby (0.2.0+) as a front-end
78 for clive.
80  User-visible changes:
81   * Add abby (front-end) compatibility
82     - Change output similar to cclive
83     - http://code.google.com/p/abby/
84   * Add Youtube HD support (--format=mp4_hd)
85     - Thanks to bf for the patch (via FreeBSD ports)
86   * Add tv.cctv.com support [issue #6]
87     - Thanks to suntong001 for data mining
88   * Add new options
89     - --limit-rate (config: [http]:limit_rate)
90     - --hosts (print supported hosts to stdout)
91     - --stderr (redirect all output to stderr instead of stdout)
92   * Improve file suffix parsing from content-type
93     - Rewrite the content-type handling block in query_video_length
94     - Use whatever is found after slash in the content-type string
95     - Use "flv" for exceptions (e.g. octet-*, x-flv, etc.)
96   * Replace dashes in video IDs with underscores before using them in fnames
97   * Change --version output
98   * Fix reading from stdin (closes Debian #522422)
99     - Assume reading from stdin only if queue and argv arrays are empty
100   * Fix exit with status code
101     - Exit 0 on success, and >0 if an error occurs
103  Developer-visible changes:
104   * Update examples/config with limit_rate
105   * Rename: configrc -> examples/config
106   * Replace the monstrous if-elsif-$host code block with a loop
109 Version 2.1.9
110 (March 27, 2009)
112  User-visible changes:
113   * Fix GoogleVideo "id not found" handling
114     - Symptom: exit after "process page..." message
115     - Cause: no check for undefined id value
116   * Fix GoogleVideo support
117     - Symptom: see above fix
118     - Cause: HTML changes to the video pages
119   * Fix URI::Escape import for GoogleVideo redirects
120     - Symptom: crash with "Undefined subroutine &URI::Escape::uri_unescape"
121     - Cause: recent script start optimizations; a missing 'require'
122   * Fix Break support
123     - Symptom: "expected different content-type"
124     - Cause: website content-type changes
126  Developer-visible changes:
127   * Cleanup code (style-wise)
128     - perltidy -gnu -l=72
131 Version 2.1.8
132 (March 24, 2009)
134  User-visible changes:
135   * Keep URL queue order
136     - Remove duplicate URL checking
137   * Remove --modver, change --version output
138   * Update manual page (clive.1, clive.pod)
139     - Rewrite EXAMPLES section
140     - Cleanup other sections
141   * Config file: add support for [output]:format (--format)
142   * Port dailymotion support from cclive
144  Developer-visible changes:
145   * Makefile changes:
146     - Replace Perl module checking with for-loops (incl. optional)
147   * Optimize script start time
148     - Replace "use $module" with "require $module" where possible
149   * Update LICENSE, configrc
150     - Cosmetic changes
151     - Add [output]:format to configrc
152   * Add tests/dmotion.url
155 Version 2.1.7
156 (March 15, 2009)
158  User-visible changes:
159   * Add --output-video option
160   * Add option groups to --help output
161   * Add --stream-exec and --stream options
162     - Ported from cclive
163   * Config file: add support for
164     - [commands]:exec (--exec)
165     - [commands]:stream (--stream-exec)
166     - See configrc for an example
167   * Fix --exec; should no longer spew out "not found" shell errors
168   * Change default filename format to "%t_%d_%i.%s"
169   * Change to use "file is already fully retrieved" error message
170   * Port resizing progressbar from cclive
172  Developer-visible changes:
173   * Add tests/lastfm.url and tests/multi.lst
174   * Remove XML::Simple dependency
175     - Use regex instead
176   * Implement SIGWINCH handling
177     - Resize progressbar to match terminal width
178     - Progressbar width defaults to 80 (chars)
179     - OS must support SIGWINCH
180     - Requires Term::ReadKey module
181       - clive works without the module but will ignore any SIGWINCH events
182   * Touch cclive.1, cclive.pod, INSTALL and Makefile files
183   * Clean up regex
185  Other changes:
186   * Buried clive-list, grew weary of fighting spam with bare fists
187     - email the author directly or use the issue tracker, thanks
190 Version 2.1.6
191 (February 19, 2009)
193  User-visible changes:
194   * Renamed the following options
195     - --noproxy => --no-proxy
196     - --noextract => --no-extract
197     - --nologin => --no-login
198   * Butchered --help output
199     - much less verbose now
200     - relocated manual page data to clive.pod
201   * Removed --manual option
202   * Obsoleted "play" and "rencode" config keys in "commands" section
203   * Added --exec option which resembles cclive's --exec command
204   * Removed --play, --noplay, --rencode and --norencode options
205     - use --exec instead
206   * Changed --paste short option from '-x' to '-p'
207   * Removed wmv format (breakcom)
208     - persistant HTTP/404 (not found) error
210  Developer-visible changes:
211   * Makefile changes
212     - additional INSTALL variables
213     - added WITH_CHECK
214     - can be used to disable module checks
215     - removed "man" from "all"
216     - removed "clean" (useless)
219 Version 2.1.5
220 (February 6, 2009)
222  User-visible changes:
223   * Fixed sevenload support
226 Version 2.1.4
227 (February 1, 2009)
229  User-visible changes:
230   * Fixed Youtube login which sometimes reported failed attempts as OK
231     - Youtube defaults web interface language based on users ip
232     - clive looks for English words in the post-login page to confirm login
233   * Tweaked --version output
235  Developer-visible changes:
236   * Removed metacafe remnants
237   * Fixed bug in time2str subroutine which caused incorrect calculations
238   * Updated INSTALL
239   * removed genman script (obsoleted by "make man")
240   * Added a rudimentary (GNU) Makefile
241   * Cleaned up translate_embed subroutine
243  Other changes:
244   * Removed the clive-announce and clive-users mailing lists
245     - New release announcements will be posted via Freshmeat alone from now on
246     - Subscribe to the project at http://freshmeat.net/projects/clive
247   * Created the clive-list@googlegroups.com mailing-list
248     - For support questions, patches and bug reports
249     - Issue tracker will remain for tracking bugs
250     - Send an email to clive-list-subscribe@googlegroups.com to subscribe
253 Version 2.1.3
254 (January 9, 2009)
256  User-visible changes:
257   * Documented missing "%t" (--filename-format) in manual page
258   * Tweaked "localfile_length == remotefile_length" message
259   * Renamed CLIVE_CONFIGDIR environment variable to CLIVE_HOME
261  Developer-visible changes:
262   * Cleaned up manual page
263   * Added LICENSE file
264   * Cleaned up FreeBSD details (INSTALL)
267 Version 2.1.2
268 (December 29, 2008)
270  User-visible changes:
271   * Removed "See --manual" from --version output
272   * Added support for evisortv
273     - http://code.google.com/p/clive/issues/detail?id=4
274   * Fixed: reused incorrectly last http error code for remaining urls in queue
275   * Fixed: progressbar reported 100% even if error had occurred (e.g. http/403)
277  Developer-visible changes:
278   * Cleaned up subroutines
281 Version 2.1.1
282 (December 19, 2008)
284  User-visible changes:
285   * Fixed "Requested range was not delivered by the server (http/33)" w/ -c
286     - this would occur with a batch of URLs while using the --continue option,
287     e.g. if the first file was continued, the following page fetches exited
288     with the above error
289   * Added --savebatch option
290   * Added --overwrite option
291   * Replaced the buggy progressbar with a "lazy man's progressbar"
292   * Fixed "print() on closed filehandle STDOUT" with --grep+delete
293   * Fixed progressbar display with --continue
295  Developer-visible changes:
296   * Updated INSTALL
297   * Started to bundle src tarball with clive.1 manual page
298   * Added genman script which wraps pod2man with common options
299   * Fixed a potential div by zero bug in calc_progress
302 Version 2.1.0
303 (December 10, 2008)
305  NOTE: Changed license GPL3 => ISC/OpenBSD.
307  User-visible changes:
308   * Added --modversion option
309   * Replaced Term::Progressbar with a built-in thermometer progressbar
310   * Removed --progress=bar:nominor support due to above changes
311   * Added liveleakcom support
312     - http://code.google.com/p/clive/issues/detail?id=3
314  Developer-visible changes:
315   * Made IO::Pager module optional
316   * Removed COPYING
317   * Cleaned up --progress option description
318   * Changed to require WWW::Curl 4.05+
319   * Removed Term::Progress module dependency
320   * Fixed a potential bug in calc_progress (improper $rate init)
321   * Updated INSTALL
322   * Made Expect module optional
325 Version 2.0.0
326 (December 2, 2008)
328  User-visible changes:
329    * Fixed gvideo/mp4 support (http/404 even if the extraction link existed)
330    * Changed "found redirect" message
331    * Changed --play, --rencode status messages to use file basename
333  Developer-visible changes:
334    * decode_utf8($page): removes extra steps, works better with HTML::TokeParser
335    * Added missing Expect module version to INSTALL
338 Version 2.0beta4
339 (November 22, 2008)
341  Notes:
342    This aims to be the last beta before the release of 2.0 in December 2008.
343    Please report any remaining bugs to the issue tracker at:
344      http://code.google.com/p/clive/issues/list
346  User-visible changes:
347    * Removed metacafe support until fixed (see known issues)
348    * Changed Youtube login to report if there were "too many login failures"
349    * Fixed Youtube login support: reported failures incorrectly as OK
350    * Added support clivepass(1) utility (http://code.google.com/p/clive-utils)
351    * Added support for metacafe and sevenload embed URL translation
353  Developer-visible changes:
354    * Added TODO file
355    * New prerequisite module: Expect
356    * Updated FreeBSD + Ubuntu details (INSTALL)
357    * Cleaned up some code
358    * Rewrote embed URL translation
360  Known issues:
361    * Metacafe support broken (http/404)
364 version 2.0beta3
365 (November 1, 2008)
367  User-visible changes:
368   * Fixed pasting from clipboard containing multiple URLs
369   * Fixed page fetch progress glitch that occured with 1+ batches
370   * Added --agent option
371   * Added --proxy option
372   * Added --savedir option
373   * Added --cclass option
374   * Added --filename-format option
375   * Added --show-format option
376   * Added --youtube-user and --youtube-pass options
377   * Added --emit-xml option
378   * Added --progress=[none|bar|dot]
379   * Replaced --noprogress with --progress=none
380   * Added avg. transfer rate notification
381   * Fixed filename printing for existing output files (e.g. output.flv.1)
382   * Added --play option
383   * Fixed metacafe support (error: failed to extract videoCDNURL)
384   * Added --rencode option
386  Developer-visible changes:
387   * Ported --emit-csv option from 1.x with minor changes
388     - Backwards compatible with 1.x
389     - Prints additional video details
390         - $length, $video_id, $time_stamp, $page_title, $cont_from, $remaining
391   * Changed to prefer 'dot' bar if the output is not a TTY
392   * Replaced progress bar with Term::ProgressBar (new module prerequisite)
393   * Cleaned up queue processing subroutine
396 Version 2.0beta2
397 (October 15, 2008)
399  User-visible changes:
400   * clive now ignores input lines that start with the '#' character
401   * Added support for CLIVE_CONFIGDIR environment variable
402   * Ported lastfm video support from 1.x
403   * --version now displays XML::Simple
404   * Changed "= Play:" to "=> Playing ..."
405   * Playing occurs now subsequently after going over the URL batch
407  Developer-visible changes:
408   * Removed a google video redirect (commented out, see code)
409   * Added the AUTHORS file
410   * XML::Simple was missing as a prerequisite in INSTALL
411   * Made minor syntactic tweaks to the source code
412   * Fixed missing --quiet check with the "=> Play" message
415 Version 2.0beta1
416 (September 23, 2008)
418 A complete overhaul and rewrite of 1.x.
420  User-visible changes:
421   * Users are expected to use the --continue/-c option to resume transfers
422   * Configuration file format (=> INI), path was changed (=> ~/.config/clive)
423   * All extractions now assume flv as the default download format
424   * Users are expected to understand when/how use the --format/-f option
425   * Reading input from multiple sources is possible (e.g. % clive -x URL URL)
426   * Added: --grep: used to grep and recall cached URL entries
427   * Added: --background and --output=logfile, --append=logfile options
428   * Many old cmdline and config options were removed due to new design
429   * Improved GoogleVideo support: handles redirects to other hosts
430   * Pager is used where needed (e.g. --show/-s)
431   * Changed default output file naming format to "%n-(%i)-[%d].%s"
432   * Removed: guba (deadweight), myvideo (borked), dmotion (bitches @ anon users)
434  Developer-visible changes:
435   * Python => Perl
436     - See the INSTALL file for prerequisites
437   * No installation: all-in-one script (excl. the 3rd party modules)
438   * Cache is now an integral part of clive, see CACHE in the manual page
439   * Embedded the --manual page (Pod)
440   * Improved Youtube login: removed is_adult HTTP get (done manually now)
441   * Grab the file suffix from the Content-Type header
442   * Improved GoogleVideo support: mp4 detection no more relies on English words
443   * Improved Metacafe support: removed unnecessary "familyfilter" HTTP get
445  Other:
446   * Project: moved
447     - 2.x+ at http://googlecode.com/p/clive/
448     - 1.x remains at http://gna.org/projects/clive
449   * Tarballs: moved
450     - 2.x+ at http://googlecode.com/p/clive/
451     - 1.x remain at http://dl.gna.org/clive
452   * Website: moved
453     - http://clive.sf.net/
454     - http://home.gna.org/clive redirects to the above
455   * SCM: SVN => Git
456     - 2.x+ at git://repo.or.cz/clive.git
457     - 1.x remains at svn://svn.gna.org/svn/clive
458   * Issue tracking: Moved
459     - 2.x+ at http://googlecode.com/p/clive/issues/
460     - 1.x bug tracker remains at http://gna.org/projects/clive
461   * Created http://googlegroups.com/group/clive-announce/
463 NOTE: See http://dl.gna.org/clive/CHANGES for 1.x.