Update NEWS for v0.9.3
[cclive.git] / NEWS
blob64e353d235c83f6971aa667b8c54971f365c965f
1 v0.9.3  [2013-11-23]
3 Limao Luo:
4   - %e has been renamed to %s (--help) [fef8987]
5 Toni Gundogdu:
6   - AC_PREREQ: Bump to 2.69 [c6591e6]
7   - Cleanup and devise more C++ eloquence
8     - Add cc::sig [b3dfaf2]
9       - Setup sig{winch,usr1} handlers only once
10       - Use sigaction(2) instead of signal(2)
11     - cc::file
12       - Rewrite for cc::sig (sigusr1) [711dc10]
13       - Use updated cc::progressbar [8236649]
14       - _init: Rewrite/cleanup [fdf4565]
15     - cc::input: Do not unescape input URIs [34026cb]
16       - Reduce duplicate code [17a0e27]
17     - cc::log: Rewrite, make header-only [8a60f4e]
18     - cc::progressbar: Rewrite, make header-only [5431098]
19       - Rewrite for cc::sig (sigwinch)
20       - Use IEEE-1541 symbols
21     - cc::re: Throw Boost.Exception based exception [dc132f7]
23  22 files changed, 773 insertions(+), 859 deletions(-)
26 v0.9.2  [2013-08-08]
28 Toni Gundogdu:
29   [!] glibmm 2.24+ is now a prerequisite
30   - Add --timestamp: Try to preserve modification time (PORT) [50213d7]
31   - Bump the required Boost version to v1.49 [86978ab]
32   - [DOC] --update-interval: Accepts now integers only [6426f8f]
33   - Improve cc::input (complete rewrite) [81303f9]
34   - Improve cc:options (complete rewrite) [314e722]
36  28 files changed, 1434 insertions(+), 873 deletions(-)
39 v0.9.1  [2013-07-16]
41 Toni Gundogdu:
42   [!] GLib 2.24+ is now a prerequisite
43   [!] Relicense under AGPLv3+
44   - Add cc::input -- improve input parsing [ad1f2e6]
45   - DOC: cclive(1): Revise INPUT section [75d1b5c]
46   - DOC: Revise --stream description [401e8c0]
47   - FIX: configure.ac: AS_IF for date(1) [0019e62]
48   - Deprecate --prefer-format in favor of --stream with libquvi 0.9+ [f55f70d]
49   - Rewrite status_callback for libquvi v0.9.2 [7d94207]
50   - Make --stream configurable [993a0be]
51   - Move --support implementation to print_support [3d35e5e]
52   - --filename-format: Remove depr. support for %h sequence [ad214c7]
53   - --print-streams: Make output similar to quvi(1) 0.9+ [2294e93]
54   - --version: Add CXX and CXXFLAGS to the output [65f8373]
55   - --version: Print copyr notice to stderr instead of stdout [6c1f678]
56   - --version: Provide additional info about libquvi [9e6e50e]
58  45 files changed, 976 insertions(+), 616 deletions(-)
61 v0.9.0  [2013-05-25]
63 Toni Gundogdu:
64   - Add libquvi 0.9+ compatibility layer
65   - Add --print-config [bf22b60]
66   - Add short-option for --verbose-libcurl [239ea61]
67   - Drop libquvi 0.2.16.x support
68     - README: Bump libquvi prereq. to 0.4.0+ [99b47eb]
69   - FIX: Regression in retrying introduced by 4b118378 [b57e47b]
70   - FIX: Skip transfer with USR1, do not retry transfer [293dbc9]
71   - Merge --version and --license options [474c143]
72     - Add build time to --version output [ca5e80f]
73   - Remove all deprecated options/features
74     - Remove depr. --format [e32fc26]
75     - Remove depr. --query-formats [e8114a0]
76     - Remove depr. --regexp [0392fb0]
77     - Remove depr. --subst [8d2ac37]
78   - Update m4/boost.m4 to the latest [982bbc7]
80  28 files changed, 782 insertions(+), 422 deletions(-)
83 v0.7.12 -- [2013-02-10, r:Toni Gundogdu]
85 Toni Gundogdu:
86   - Add quvi compatibility layer [cda6cc4]
87   - Add short-option -h [8a279a6]
88   - Add short-option -v [ec969f1]
89   - Deprecate --format, add --stream [949d476]
90   - Deprecate --query-formats, add --print-streams [7188199]
91   - doc: Revise manual [777d82a]
92   - FIX: Do not ignore I/O errors during file transfer [6f2e711]
93   - options: Make 'continue' configurable [92bd61f]
94   - options: Make 'no-resolve' configurable [4afab3e]
95   - Upgrade boost.m4 to the latest [c436150]
97 See ChangeLog for a more detailed list of changes.
99  47 files changed, 1881 insertions(+), 1993 deletions(-)
102 v0.7.11  -- [2012-12-12, r:Toni Gundogdu]
104 Adam Sampson:
105   - Check .error() for user-provided regexps [03d69e0]
106   - Copy strings passed to StringPiece [5325ecc]
108  3 files changed, 31 insertions(+), 19 deletions(-)
111 v0.7.10 (2012-08-28) / Toni Gundogdu
113 Toni Gundogdu:
114   - Append contents of INSTALL file to README file [a90c854]
115     - README file will contain the cclive specific information
116     - INSTALL file will now be provided by GNU Autotools
117   - configure.ac: Add AC_PROG_LN_S [da6c39a]
118   - configure.ac: Install ccl symlink by default [9ecaaf8]
119   - configure.ac: Lower AC_PREREQ to 2.67 [e317832]
120   - configure.ac: Modernize AM_INIT options [76fd2d0]
121   - configure.ac: Modernize libtool options [0f39e93]
122   - configure.ac: Replace deprecated macros [59fce53]
123   - configure.ac: Run gen-ver.sh to get version value [4f0d4a8]
124   - DOC: Manual: Revise descriptions for option sections [fe31766]
125   - DOC: Rewrite EXIT STATUS section [6690303]
126   - FIX: Return non-zero exit status if failure (#18) [4d3c506]
127     - exit_status: Redefine as ok (EXIT_SUCCESS) and error (EXIT_FAILURE) [20cbf6d]
128       - Replace "invalid_option" with "error" [980792e]
129     - main: Use exit_status, have caught exceptions set exit status [99bd1b2]
130   - gen-ver.sh: Rewrite completely [df0a4ce]
131   - go_background: Return application::error instead [36158a1]
132   - Install ccl symlink now by default, see --disable-ccl in README
133   - install-exec-hook: Remove the 'ccl' symlink [e394f71]
134   - m4/boost.m4: Update to the most recent [1044d88]
135   - m4/version.m4: Remove the file [d1e6bae]
137  17 files changed, 206 insertions(+), 139 deletions(-)
140 v0.7.9  (2012-03-03) / Toni Gundogdu
142 Toni Gundogdu:
143   - FIX: Print only HTTP category domains with --support (#17) [8172356]
144   - FIX: --support: Strip lua escapes from domain patterns (#16) [b089d63]
145   - Update boost.m4 to the latest version [edc7b12]
148 0.7.8  Sat Nov 26 2011  Toni Gundogdu
149 Changes:
150     - Improvements to --exec
151       - Invoke --exec with "nothing todo"
152       - Additional specifiers %n and %t
153       - Allow multiple occurences
154       - Argument handling
157 0.7.7  Sun Oct 16 2011  Toni Gundogdu
158 Bugfixes:
159     - Do not create doc dir unnecessarily with "make install"
160     - Option -O evaluated incorrectly (#13)
161 Changes:
162     - Use QUVI_VERSION_SCRIPTS when available
163     - Add YouTube fmtNN ref. URL to manual
166 0.7.6  Mon Sep 12 2011  Toni Gundogdu
167 Changes:
168     - Add --tr (depr. --regexp, --subst)
169     - Add --prefer-format
170     - Revise manual
173 0.7.5.1  Thu Aug 18 2011  Toni Gundogdu
174 Changes:
175     - Lower quvi prerequisite to 0.2.16.1
178 0.7.5  Sat Aug 13 2011  Toni Gundogdu
180 Changes:
181     - Make --update-interval a "configurable" option
182     - Implement 'simple' progressbar
183     - Add --progressbar
184 Fixes:
185     - --update-interval (with negative) values doesn't work as intended (#11)
188 0.7.4.1  Thu Jun 23 2011  Toni Gundogdu
190 Fixes: dist
191     - make: rm: cannot remove `cclive': Is a directory (#9)
194 0.7.4  Sat Jun 18 2011  Toni Gundogdu
196 Changes:
197     - Add --no-resolve (replaces --no-shortened)
198     - Rewrite to use quvi "media interface"
199     - Add support for reading from files
200     - Deprecate "--format list"
201     - Remove --no-shortened
202     - Add --query-format
204 Changes: dist
205     - configure: Rename --with-man -> --with-manual
206     - Bump quvi prerequisite to 0.2.17
207     - Revert back to GNU Autotools
210 0.7.3.1  Tue Mar 15 2011  Toni Gundogdu
211 Bugfixes:
212         - CMake Error at src/CMakeLists.txt:43 (#7)
215 0.7.3  Sat Mar 12 2011  Toni Gundogdu
216 Changes:
217         - Add QUVIOPT_CATEGORY check
218             - Set QUVIPROTO_HTTP
219         - Do not build quvicpp as a static library
220             - Build quvicpp in the "cclive" target instead
221             - See also ChangeLog for 3a867d7 commit message
222 Bugfixes:
223         - Compilation with boost 1.46.0 (#6)
224             - Boost::Filesystem uses v3 as the new default in 1.46.0
227 0.7.2   Mon Feb 07 2011 Toni Gundogdu
228 Changes:
229         - Add SIGUSR1 handler
230         - Add progress meter
231 Bugfixes:
232         - Normal progressbar min-max rendering while resizing window
235 0.7.1   Fri Jan 07 2011 Toni Gundogdu
236 Changes:
237         - Lower pcre prereq. to 8.02, thanks to Alejandro Garrido Mota
238         - Show --background in options on platforms that support fork
239         - Print pid to log file with --background
240         - Add getpid check to CMakeLists.txt
241         - Add --no-shortened switch
242         - Make --quiet exclusive
243 Bugfixes:
244         - Wrong full path for downloaded file (#5) (d#608393)
245         - Number of various issues with --background log
248 0.7.0.1  Sat Dec 18 2010  Toni Gundogdu
249 Changes:
250         - Add --output-dir
253 0.7.0 rc2  Sat Dec 04 2010  Toni Gundogdu
254 Changes:
255         - Lower boost prerequisite to 1.42.0, thanks to Alejandro Garrido Mota
256         - Add --format [<help>|<list> <pattern>]
257         - gzip manual before installing it
258 Bugfixes:
259         - CMAKE_VERBOSE_MAKEFILE
260         - Manual install dir
263 0.7.0 rc1  Sat Nov 20 2010  legatvs
264 Changes:
265         - progressbar.cpp: Rewrite to_unit
268 0.7.0 beta4  Wed Nov 03 2010  legatvs
269 Changes:
270         - Add --regexp check
271         - Clean up manual page
272         - Improve progressbar line clearing
275 Version 0.7.0 beta 3
276 October 15, 2010
278 Changes:
279   * Print --help, --version, --license, --support to stdout
282 Version 0.7.0 beta 2
283 September 30, 2010
285 Changes:
286   * Migrated issue tracker to sf.net (read more: <http://is.gd/fnDU2>)
287   * Use "git describe" for version instead
288   * Add --max-retries, --retry-wait (#47)
289   * --version, print libquvi
292 Version 0.7.0 beta 1
293 September 1, 2010
295 Changes:
296   * Add prerequisite: Boost library
297   * Build system: GNU Autotools -> CMake
298   * Rewrite everything
300 See also:
301     <http://code.google.com/p/cclive/wiki/Development_0_7_0>
304 0.6.1
305 -------------
307 --format no longer uses hardcoded values. The accepted
308 values are now provided by libquvi.
311 0.6.0
312 -------------
314 Significant changes to the project. 0.6.0 has gone through
315 tedious testing but expect bugs.
317 * Added new dependency for libquvi (http://quvi.googlecode.com/)
318   - libquvi is a brand new a spinoff library
319   - based on cclive 0.5 host specific code
320   - takes care of all of the page fetching and parsing
322 * cclive will now prepend "error: libquvi:" if an error occurs
323 in the library, this means that any such bug should be reported
324 to the *quvi bug tracker* (see the link above)
326 * Added support for (cctv) multi-segment videos, see also:
327   http://code.google.com/p/clive/issues/detail?id=45
329 * Adult websites are now only supported if libquvi was built
330 with the support (default:no)
332 * CCLIVE_CURLINIT return code is now obsolete, libquvi
333 initializes libcurl and spews out the init error
335 * The code responsible for the underlaying "retry-transfer"
336 logic was rewritten for better readability
338 * Removed the libiconv dependency, libquvi takes care of
339 the character set conversions now
341 * Tests no longer run any of the old host specific checks,
342 the quvi package takes care of this now, other changes
343 to the test suite include:
345   * ADULT_OK environment variable is now obsolete,
346   this is now libquvi territory
348   * Renamed CCLIVE_TEST_OPTS -> CCLIVE_TEST_OPTIONS
350   * Tests are now perl scripts
352   * See INSTALL file for the list of test suite supported
353   environment variables
355 * libquvi introduces some misc. minor improvements to the 
356 page fetching and parsing, e.g. spiegel videos now skip
357 the video page fetch altogether
359 * Spyfilms video ids were previously (0.5.9) glued together
360 from various video page elements, as of 0.6.0 (and libquvi)
361 spyfilms video ids are generated using different scheme
363   * This is a special case, all other supported websites
364   use unique ids for their videos
366 * Option changes
368   * Remove --stream option. This option was supported for historical
369   reasons only, until now. It has been considered deprecated since
370   the introduction of --stream-pass in 0.4.6.
373 0.5.7
374 -------------
376 Multiple regular expressions can now be supplied for --substitute.
378 For example:
379   % cclive -S "s/old/new/i s/[/:-]/_/g" URL
381 Note the whitespace between the regular expressions.
384 0.5.6
385 -------------
387 Added --substitute which mimics Perl's s/old/new/(gi) substitution.
388 It can be used to replace substrings in output filenames.
390 Example:
391   % cclive -S "s/old/new/i" URL
392   % cclive -S "s/[/:-]/_/g" URL
394 Changed --regexp to accept Perl-like regular expressions, e.g.
395   % cclive -r "/(\w+)/" URL
396   % cclive -r "/(\w+)/g" URL
397   % cclive -r "/([a-e])/gi" URL
399 Note that this breaks the backward compatibility.
400   * --regexp now expects /pattern/(gi)
401   * --find-all is no longer supported (use /g instead)
403 Added --background which is similar to what clive (2.1.x) once had.
404 The progress indication while in the background is very simplistic.
405 Note that --logfile and --logfile-interval options were also added
406 to support --background.
409 0.5.2
410 -------------
412 New youtube format: fmt34. This was previously referred to as youtube
413 default format which no longer appears to be the case. Note that the
414 fmt34 video quality and resolution may vary.
416 Fixes a few bugs.
418 Redtube support is broken.
419   http://code.google.com/p/cclive/issues/detail?id=5
422 0.5.0
423 -------------
425 The dependency of Perl and HTML::Tokenizer module have been replaced with
426 libiconv and PCRE for significantly lower system footprint. Perl was previously
427 used for parsing video titles and cleaning them up.
429 configure no longer supports --enable-sigwinch. The support is now compiled
430 into the program automatically if signal.h is found and defines SIGWINCH.
432 tests/ have been rewritten in C++.
434 Other notable changes:
436   Removed options:
437   --title
438     - obsoleted by --filename-format since 0.4.1 
439   --cclass, --no-cclass
440     - obsoleted by --regexp and --find-all (below)
442   New options:
443   -r, --regexp
444     - Defines the regular expression that can be used to "filter"
445       video titles before they are used for filenames
447   -g, --find-all
448     - Used together with the above to repeat the matching to find
449       all occurences, similar to Perl's /g option
451   Example:
452     cclive -gr "(\w|\s)" URL
454   Comparison:
455   -----------
456                               SIZE     RES      Notes
457   clive  2.2.4              ~13924k  ~10388k    Perl all the way
458   cclive 0.4.7 (w/ perl)     ~8300k   ~6908k    Video titles enabled
459   cclive 0.4.7 (w/o perl)    ~5940k   ~3224k    No video titles
460   cclive 0.5.0               ~5780k   ~3196k    Video titles enabled by default
462   SIZE = total size of the process (text, data, and stack)
463   RES  = current amount of resident memory
465   Note  : Figures are approximates. cclive was built with "-O2 -march=pentium4"
466   Tested: FreeBSD 7.2, numbers provided by top(1), numbers vary slightly per URL