Merge https://github.com/luolimao/cclive into next
[cclive.git] / ChangeLog.pre-gitlog
blob678e789f49997e057e2ecd691831558add0f44ec
2 Version 0.6.6
4 Changes:
5   * Bump autoconf prereq to 2.68
7 Bugfixes:
8   * Incorrect documentation for --retry=0
11 Version 0.6.5
12 August 12, 2010
14 Changes:
15   * Add --license option
16   * Add --regexp default "/(\w|\s|\pL)/g" (issue #43)
17   * Add --enable-tests (configure, disabled by default)
20 Version 0.6.4
21 July 25, 2010
23 Changes:
24   * Disable tests/multi-segment.pl (libquvi: cctv support broken)
25   * Remove tests/noformat-eval.pl
26   * Bump autoconf prereq to 2.66
27   * New default --format value (`flv' -> `default').
28   * Warn if --format, --format-map use invalid values
29   * Handle QUVI_LUA
30   * Use CURLOPT_RESUME_FROM_LARGE instead
31   * Bump PKG_CHECK_MODULES(libquvi) to 0.2.0
33 Bugfixes:
34   * --format-map (#36)
37 Version 0.6.3
38 May 6, 2010
40 Changes:
41   * Update to use libquvi's quvi_next_supported_website function
42   * Add AM_SILENT_RULES([yes])
45 Version 0.6.2
46 (February 23, 2010)
48 Changes:
49   * tests/multi-segment.pl now checks for locale
51 Bugfixes:
52   * -f best, accepted again (closes issue #24)
55 Version 0.6.1
56 (Feburary 13, 2010)
58 Changes:
59   * Updated manual to reflect the dailymotion format id changes
60   * Remove the hardcoded --format values
61     # Use libquvi provided values instead
62   * Add tests/noformat-eval.pl
63   * Cleanup notice message (configure)
64   * Add tests/pod-check.pl (replaces "make checkpod")
66 Bugfixes:
67   * tests/Makefile.am: Missing separator (Makefile:450, rep. FreeBSD)
70 Version 0.6.0
71 (February 2, 2010)
73  User-visible changes:
74   * Multi-segment support (e.g. some cctv videos)
75   * Remove "Features" from --version output
76   * Rewrite of retrying transfers
77   * --version now prints libquvi version (instead of libcurl)
79  Developer-visible changes:
80   * Add dependency for libquvi (see NEWS and INSTALL files)
81   * Remove libiconv dependency (ditto)
83  General changes:
84   * Tidy up project description (e.g. README)
87 Version 0.5.9
88 (January 26, 2010)
90  User-visible changes:
91   * --stream-exec, --stream-pass
92     # Add support for the %f specifier
93     # Thanks to webmaster.foto-schaal.de for the patch
94     # Closes issue #22
95   * Add spyfilms support
96     # Thanks to Hanno Böck for initial patch and data
99 Version 0.5.8
100 (January 14, 2010)
102  User-visible changes:
103   * Fix "-f unavailable_format" for dailymotion
104     # Use first found link instead of croaking with an error
105   * Fix "-f best" for dailymotion
106     # Use proper sorting method
107     # Thanks to Markus Doppelbauer for reporting the issue
108   * Fix tube8 support
110  Developer-visible changes:
111   * configure: dump build configuration
112   * tests/sevenload.cpp: remove dead test link (closes issue #19)
115 Version 0.5.7
116 (December 18, 2009)
118  User-visible changes:
119   * Do not replace dashes with underscores in IDs
120   * --substitute: support multiple regexps (re-closes issue #17)
121     # Read manual page for updated details
122     # See also NEWS file
123   * Fix tube8 support
125  Developer-visible changes:
126   * tests: support MULTI_TEST env.var. (see INSTALL)
127   * Remove redtube remains from the src tree
130 Version 0.5.6
131 (December 2, 2009)
133  User-visible changes:
134   * Add --background, --logfile, --logfile-interval
135   * Add --substitute (closes issue #17)
136   * Tweak static error strings (e.g. "system call failed" -> "system")
137   * Croak if file open fails prior to video download (related to issue #17)
138   * Sort --hosts output alphabetically (Thanks to Bram Neijt for the patch)
139   * Decode properly predefined (X)HTML numeric character references
140   * Changes to --regexp
141     # Support Perl-like regexps (see NEWS file, updated manual for more)
142     # Add support for Perl-like /i
143     # Remove --find-all (use /g with --regexp instead)
144   * Fix random sevenload http/401 errors (closes issue #14)
145     # Caused by use of predefined HTML entities in video links
146   * Fix CURLE_RANGE_ERROR handling for file transfers
147     # Caused infinite loop of "Requested range was not delivered by the server"
148     # Stop after --retry specified limit has been reached
150  Developer-visible changes:
151   * Bump AC_PREREQ to 2.65
154 Version 0.5.5
155 (November 14, 2009)
157  User-visible changes:
158   * Add predefined HTML character entity (e.g. ") conversion
159   * Add support for tube8.com
160     # Thanks to anonymous contributor for the patch
161   * Allow dailymotion.*
162   * Fix sevenload title parsing
163     # Use config title instead
165  Developer-visible changes:
166   * Clear up project description ("mission statement")
167   * docs/AddingSupport: add checklist and 0.6.0 note
170 Version 0.5.4
171 (October 29, 2009)
173  User-visible changes:
174   * Fix: youtube -f best (error: parse failed: no match: (?i)"fmt_map": "(\d+))
175     # Failed if fmt_map was an empty string
176     # Closes issue #7
177   * Add support for:
178     # youjizz.com (closes issue #11)
179     # xvideos.com (closes issues #12)
180     # Both contributed by i.am.a.real.coward
183 Version 0.5.3
184 (October 15, 2009)
186  User-visible changes:
187   * Fix: google title parsing (closes issue #6)
188     # Use <title> instead
190  Developer-visible changes:
191   * Remove: AC_PROG_CPP (deprecated)
192   * Fix: AM_ICONV failed to detect iconv (mingw, freebsd, ...)
193     # Use a proper config.rpath file
194   * Remove: use of tmpfile(3) (queryFileLength)
195     # Read into memory instead when querying file length
198 Version 0.5.2
199 (September 29, 2009)
201  User-visible changes:
202   * Fix: dailymotion id parsing
203   * Youtube:
204     # Accept -f fmt34
205     # fmt34 is now treated as yet another (new?) format
206     # Rewrite youtube section of the FORMATS in the manual
207   * Fix: cctv title parsing (related to issue #4)
208   * Fix: Segmentation fault with -q switch (closes issue #3)
209   * Vimeo: Fix title parsing (related to clive issue 37 "accented chars")
210   * Golem: Parse title from fetch config xml instead
212  Developer-visible changes:
213   * Disable tests: redtube (see known-issues)
214   * "make check": ADULT_OK env.var. enables redtube test
215   * Bump autoconf prereq to 2.64
216   * configure.ac:
217     # New m4/version.m4
218     # New AM_INIT_AUTOMAKE([-Wall -Werror foreign dist-bzip2])
219     # Add AC_CONFIG_AUX_DIR
220     # Add AC_CONFIG_MACRO_DIR
221     # Add AC_PROG_CPP
222     # Add AC_PROG_MKDIR_P
223     # Add BUILD_DATE
224     # Remove AC_C_CONST
225   * Makefile.am:
226     # Use top_srcdir and top_builddir for gengetopt, etc.
227   * tests/Makefile.am:
228     # Use top_builddir for CCLIVE_PATH
230  Known issues:
231    * Redtube: broken (verify -> http/404)
234 Version 0.5.1
235 (September 14, 2009)
237  User-visible changes:
238   * Fix: google support (title parsing)
239   * Fix: break support (http/403, thanks to Werner Elsler for the fix)
240     # <http://code.google.com/p/clive/issues/detail?id=38>
242  Developer-visible changes:
243   * Cleanup: remove unnecessary opts.h includes
244   * Fix: error: 'winsize' was not declared in this scope (add TIOCGWINSZ check)
245   * Handle HTTP/206 properly
246     # Fixes: (invalid) "error: fetch failed: server returned http/206"
249 Version 0.5.0
250 (August 28, 2009)
252  User-visible changes:
253   * Add options:
254     # --regexp, --find-all
255     # --format-map
256     # --overwrite
257     # --retry
258     # --retry-wait
259   * Add website support (ported from clive):
260     # cctv.com
261     # ehrensenf.de
262     # spiegel.de
263     # redtube.com
264   * Add embedded video link support:
265     # vimeo
266     # redtube
267   * Fix:
268     # Liveleak support: Unsupported protocol (rc=1) [whitespace in links]
269     # --hosts: dailymotion: spak-mini -> spark-mini
270     # ETA for resumed transfers
271     # Average rate for finished transfers
272     # --continue with local_length >= content_length
273   * Remove options:
274     # --title
275     # --cclass
276     # --no-cclass
277   * Progressbar changes:
278     # Zeropad ETA
279     # Use 60s instead of 100s in time to string conversions
281  Developer-visible changes:
282   * Update:
283     # NEWS
284     # Manual
285     # INSTALL
286   * src/cmdline.c -> src/cmdline.cpp
287   * $host.cpp: Reimpl. using pcre
288   * New prerequisites:
289     # libiconv
290     # libpcre (cpp)
291   * configure:
292     # Add: make checkpod (replaces tests/pod.pl)
293     # Remove: --with-perl
294     # Remove: --enable-sigwinch (use SIGWINCH definition in signal.h)
295   * tests/: Rewrite in c++
296     # Note the extension changes (.c -> .cpp)
297   * tests/test.cpp:
298     # Add support for CCLIVE_TEST_OPTS
299     # Set CCLIVE_NO_CONFIG to ignore ~/.ccliverc (src/opts.cpp)
300   * Add to tests/:
301     # multi.cpp
302     # returncode.cpp
303   * tests/redtube.cpp: Replace dead test link
304   * Remove: tests/pod.pl
307 Version 0.4.7
308 (August 5, 2009)
310  User-visible changes:
311   * Add:
312     # myubo.com support
313       * Thanks to Patrick Hoffmann <patrick@sobran.de> for the patch
314   * Fix:
315     # Dailymotion: spak-mini -> spark-mini
316     # Funnyhub: ID parsing
317     # Funnyhub: title parsing (proper cleanup)
318     # --title with multiple video page links
319       * Example: cclive -t URL URL2
320       * Segfault after 1st video when HTML parsing begins for 2nd
321       * Reason: Perl: incomplete cleanup
323  Developer-visible changes:
324   * Rewrite --title handling
325     # Allow $host.cpp impl. override HTML <title>
326     # hosthandler.cpp: Remove WITH_PERL block
327     # pl.cpp: impl. PerlMgr
328   * tests/youtube.c: new link
331 Version 0.4.6
332 (July 30, 2009)
334  User-visible changes:
335   * Add:
336     # golem.de support (port from clive)
337     # --format=(mp4|hd|hq|3gp) for youtube
338     # --stream-pass option
339     # clipfish.de support (port from clive)
340     # funnyhub.com support
341       * Thanks to Patrick Hoffmann <patrick@sobran.de> for the patch
342   * Fix:
343     # [unicode support] --cclass now works as expected with unicode as well
344     # Dailymotion support
345   * Change:
346     # Pair --exec with --exec-run, the latter now triggers the former
347     # --hosts: print supported formats
348     # --version: print current locale setting
349     # --stream-exec: remove depend on --stream
351  Developer-visible changes:
352   * Reduce "header hell"
353     # $host.cpp includes are now cleaner
354     # Slightly faster compilation
355   * $host.cpp: Remove isHost overriding (HostHandler impl. obsoletes)
356   * exec.cpp:
357     # Improve system return code handling
358     # Quote %i replacement values
359   * configure.ac: add AC_FUNC_(RE)ALLOC (make cond.)
360   * Change: tests/test.c: use system instead of execv
361     # Some tests (e.g. -f) were skipped quietly
362   * Change: make check: respect NO_INTERNET env.var.
363   * Fix: src/opts.cpp: missing #include <cstdlib>
364     # Detected on Ubuntu (gcc 4.3.3)
367 0.4.5
368 (July 6, 2009)
370  User-visible changes:
371   * Add: Return codes (see also manual page)
372   * Fix: Google mp4 support
373     1. Re-enable --format=mp4
374   * Fix: Misc. typos in the manual page
375   * Fix: help string for --format
377  Developer-visible changes:
378   * Add: pod2html check: make man now generates also html if pod2html is found
379   * Add: mingw32-build.sh, mingw32-package.sh
380     1. Covers the steps on FreeBSD although should port easily
381   * Add: --enable-tests (configure)
382     1. Enables tests run by "make check"
385 0.4.4
386 (June 21, 2009)
388  User-visible changes:
389   * Add: Vimeo support
390   * Change: --format=mp4 is no longer accepted (see 0.4.3 known-issues)
392  Developer-visible changes:
393   * hostfactory.cpp: tidy up switch-case
396 0.4.3
397 (June 14, 2009)
399  User-visible changes:
400   * Add: --format=best support
401   * Add: --format=fmt35 for Youtube
402   * Add: --no-cclass
403   * Add: Support for youtube-nocookie.com
404   * Fix: --emit-csv: file length: add missing std::ios::fixed
405   * Fix: Dailymotion ID parsing
406   * Fix: Liveleak ID parsing
407   * Fix: mangled error messages: rewrite curl error handling
408   * Change: --emit-csv: remove initial length
409   * Change: make --cclass, --no-cclass depend on --title
410   * Rename: --download -> --format
411   * Rename: --title-cclass -> --cclass
412   * Remove: --format=fmt6 (Youtube no longer appears to support it)
413   * Remove: --format=spark (Dailymotion, use "flv" instead)
414   * Remove: --youtube-user, --youtube-pass (at least until login fix is found)
416  Developer-visible changes:
417   * Add: tests/youtube-nocookies.url
418   * Add: examples/config file
419   * Fix: cclive.pod (*** WARNING: (section) in ... deprecated at line ...)
420   * Update: INSTALL
422  Known-issues:
423   * mp4 extraction fails (Google)
426 0.4.2
427 (May 9, 2009)
429  User-visible changes:
430   * Change: --connect-timeout, --connect-timeout-socks default -> 30s
432  Developer-visible changes:
433   * src/curl.(cpp|h): make curlErrorBuffer a member variable
434   * src/singleton.h: fix precision error reported on 64bit systems
435     ** Thanks to Martin Wilke for the patch
438 0.4.1
439 (May 4, 2009)
441  User-visible changes:
442   * Fix: port title parsing fix from clive (issue #8)
443   * Add: --filename-format
445  Developer-visible changes:
446   * src/log.cpp: add missing unistd.h
449 0.4.0
450 (April 28, 2009)
452  User-visible changes:
453   * Separation of stdout and stderr (previously all -> stderr)
454   * Change: --version -> stdout (previously -> stderr)
455   * Rename: --supported-hosts -> --hosts
456   * Cleanup: manual page
458  Developer-visible changes:
459   * Rewrite to C++ (expect bugs)
460   * Add: HACKING file
461   * Add: missing cmdline.ggo file (Makefile.am)
462   * Add: missing cclive.pod file (Makefile.am)
463   * Rename: --with-sigwinch -> --enable-sigwinch (configure.ac)
464   * Change: --enable-sigwinch: default -> no (configure.ac)
465   * Rename: CHANGES -> ChangeLog
467  Known-issues:
468   * Youtube login does not work (throw an error, patches welcome!)
471 0.3.2
472 (April 17, 2009)
474  User-visible changes:
475   * Add new options: (closes issue #2)
476     - --connect-timeout
477     - --connect-timeout-socks
479  Developer-visible changes:
480   * configure.ac: use AC_GNU_SOURCE instead of defining _GNU_SOURCE manually
481     - main.c, dl.c, llst.c, host.c, login.c, util.c: remove _GNU_SOURCE define
484 0.3.1
485 (April 4, 2009)
487  User-visible changes:
488   * Replace dashes in video IDs with underscores before using them in fnames
489   * Use returned content-type for video file name suffix
490     - Use "flv" for exceptions (e.g. octet-*, x-flv, etc.)
491   * Add Youtube HD support (--download=mp4_hd)
492     - Thanks bf for the patch
494  Developer-visible changes:
495   * configure.ac: Use CANONICAL_SYSTEM instead of CANONICAL_HOST
496     - main.c: use CANONICAL_TARGET instead of CANONICAL_HOST
497   * Add tests/youtube-hd.url
498   * Cleanup manual page (cclive.1, cclive.pod)
501 0.3.0
502 (March 27, 2009)
504  User-visible changes:
505   * Fix googlevideo support
506     - Symptom: "error: 'docid: ' not found"
507     - Cause: id extraction failed
508   * Change --version output
509   * Update OTHER section in the manual page (cclive.1, cclive.pod)
511  Developer-visible changes
512   * Fix various compilation warnings (gcc 4.3+)
513   * Cleanup code (style-wise)
514     - indent -nut -i4 -ldi8
515   * Convert to use GNU Autotools
516   * Remove GNU Makefile
517   * Update INSTALL
520 0.2.6
521 (March 24, 2009)
523  User-visible changes:
524   * Fix dailymotion support
525     - Changes to website HTML; incorrect copy-to-string
526     - Symptoms: output filename utter gibberish
529 0.2.5
530 (March 17, 2009)
532  User-visible changes:
533   * Port lastfm-youtube support from clive
534   * Fix googlevideo support
536  Developer-visible changes
537   * Add tests/lastfm.url
538   * Add strlcpy.c
539   * Touch cclive.pod and cclive.1
542 0.2.4
543 (March 9, 2009)
545  User-visible changes:
546   * Add --title and --title-cclass options
547   * Add --stream-exec and --stream options
548   * Change --version to print build-time options (e.g. --with-sigwinch)
549   * Remove -e short option (--exec)
551  Developer-visible changes:
552   * Touch INSTALL, cclive.pod, cclive.1 and README
553   * Fix gcc 4.3+ "format not a string literal and no format arguments" warning
554   * Makefile: add WITH_PERL  [default:no]
555   * Add missing GPL header (cclive.h)
558 0.2.3
559 (February 20, 2009)
561  User-visible changes:
562   * Removed wmv format (breakcom)
563     - persistant HTTP/404 (not found) error
564   * Added --print-fname
565   * Fixed file naming when output file exists already
566     Symptoms: output file is called ".1" or ".2" etc.
569 0.2.2
570 (February 15, 2009)
572  User-visible changes:
573   * Added --number-videos
574   * Fixed HTTP proxy support (main.c, opts.c)
575     - Fixed: --no-proxy was ignored if http_proxy env. variable was set
576     - Fixed: http_proxy env.v. was misshandled causing cclive to crash at exit
577       - missused cc.gi.proxy_given by setting it to 1 when http_proxy was set,
578         causing gengetopt generated code to try to free an invalid pointer
579     - Changed: libcurl is now responsible for using http_proxy
580       - option --proxy=address still overrides http_proxy definition
581   * Implemented SIGWINCH signal handling
582     - progressbar now resizes along with terminal width but not below 80 chars
583   * Fixed: --limit-rate no longer limits following page transfers after file dl
585  Developer-visible changes:
586   * Replaced remaining (excl. gengetopt generated) strcat with safer strlcat
587   * Merged opts.c into main.c
588   * Rewrote cclive struct
589     - config parser (pp) is now freed immediately after parsing
590     - Removed http_proxy_env from the struct
591     - exec_mode is now a local variable
592   * Rewrote up parse_opts function
593   * Added WITH_SIGWINCH to Makefile, e.g. "make WITH_SIGWINCH=no"
594     - if != "yes" cclive is built without the resizing feature described above
595       which depends on SIGWINCH and ioctl(TIOCGWINSZ)
598 0.2.1
599 (February 9, 2009)
601  User-visible changes:
602   * Tweaked progressbar to fit better
603   * --limit-rate now limits file transfers only
604   * Fixed crashing at exit while using --exec
605     - Caused by incorrect use of free in llst_free (llst.c)
608 0.2.0
609 (February 7, 2009)
611  User-visible changes:
612   * Added --exec option
613   * Fixed sevenload support
614   * Added support for dailymotion
615   * Extracted videos are now saved as $host_$id.$suffix
616   * Fixed file naming: $id-($host).$suffix.$num => $host-($id).$suffix.$num
618  Developer-visible changes:
619   * Updated TODO
620   * Added AUTHORS
621   * Added tests/dmotion.url
622   * Updated tests/7load.url
623   * Updated README with "cclive != clive" section
624   * Use of FREE macro (cclive.h) instead of free(3)
625   * Fixed incorrect freeing of embed to video page converted link
626     - Symptoms: % cclive < tests/youtube.url => crash at fetch 2nd link
627   * Cleaned up .c and .h files
628     - Relocated some of the functions to reduce .h spam
629     - Removed obsoleted .c files
630     - Renamed much of the functions with "cc_" prefix
631     - Removed "extern" from .h files
634 0.1.0
635 (January 31, 2009)
637  * initial release