v0.9.3  [2013-11-23]

Limao Luo:
  - %e has been renamed to %s (--help) [fef8987]
Toni Gundogdu:
  - AC_PREREQ: Bump to 2.69 [c6591e6]
  - Cleanup and devise more C++ eloquence
    - Add cc::sig [b3dfaf2]
      - Setup sig{winch,usr1} handlers only once
      - Use sigaction(2) instead of signal(2)
    - cc::file
      - Rewrite for cc::sig (sigusr1) [711dc10]
      - Use updated cc::progressbar [8236649]
      - _init: Rewrite/cleanup [fdf4565]
    - cc::input: Do not unescape input URIs [34026cb]
      - Reduce duplicate code [17a0e27]
    - cc::log: Rewrite, make header-only [8a60f4e]
    - cc::progressbar: Rewrite, make header-only [5431098]
      - Rewrite for cc::sig (sigwinch)
      - Use IEEE-1541 symbols
    - cc::re: Throw Boost.Exception based exception [dc132f7]

 22 files changed, 773 insertions(+), 859 deletions(-)


v0.9.2  [2013-08-08]

Toni Gundogdu:
  [!] glibmm 2.24+ is now a prerequisite
  - Add --timestamp: Try to preserve modification time (PORT) [50213d7]
  - Bump the required Boost version to v1.49 [86978ab]
  - [DOC] --update-interval: Accepts now integers only [6426f8f]
  - Improve cc::input (complete rewrite) [81303f9]
  - Improve cc:options (complete rewrite) [314e722]

 28 files changed, 1434 insertions(+), 873 deletions(-)


v0.9.1  [2013-07-16]

Toni Gundogdu:
  [!] GLib 2.24+ is now a prerequisite
  [!] Relicense under AGPLv3+
  - Add cc::input -- improve input parsing [ad1f2e6]
  - DOC: cclive(1): Revise INPUT section [75d1b5c]
  - DOC: Revise --stream description [401e8c0]
  - FIX: configure.ac: AS_IF for date(1) [0019e62]
  - Deprecate --prefer-format in favor of --stream with libquvi 0.9+ [f55f70d]
  - Rewrite status_callback for libquvi v0.9.2 [7d94207]
  - Make --stream configurable [993a0be]
  - Move --support implementation to print_support [3d35e5e]
  - --filename-format: Remove depr. support for %h sequence [ad214c7]
  - --print-streams: Make output similar to quvi(1) 0.9+ [2294e93]
  - --version: Add CXX and CXXFLAGS to the output [65f8373]
  - --version: Print copyr notice to stderr instead of stdout [6c1f678]
  - --version: Provide additional info about libquvi [9e6e50e]

 45 files changed, 976 insertions(+), 616 deletions(-)


v0.9.0  [2013-05-25]

Toni Gundogdu:
  - Add libquvi 0.9+ compatibility layer
  - Add --print-config [bf22b60]
  - Add short-option for --verbose-libcurl [239ea61]
  - Drop libquvi 0.2.16.x support
    - README: Bump libquvi prereq. to 0.4.0+ [99b47eb]
  - FIX: Regression in retrying introduced by 4b118378 [b57e47b]
  - FIX: Skip transfer with USR1, do not retry transfer [293dbc9]
  - Merge --version and --license options [474c143]
    - Add build time to --version output [ca5e80f]
  - Remove all deprecated options/features
    - Remove depr. --format [e32fc26]
    - Remove depr. --query-formats [e8114a0]
    - Remove depr. --regexp [0392fb0]
    - Remove depr. --subst [8d2ac37]
  - Update m4/boost.m4 to the latest [982bbc7]

 28 files changed, 782 insertions(+), 422 deletions(-)


v0.7.12 -- [2013-02-10, r:Toni Gundogdu]

Toni Gundogdu:
  - Add quvi compatibility layer [cda6cc4]
  - Add short-option -h [8a279a6]
  - Add short-option -v [ec969f1]
  - Deprecate --format, add --stream [949d476]
  - Deprecate --query-formats, add --print-streams [7188199]
  - doc: Revise manual [777d82a]
  - FIX: Do not ignore I/O errors during file transfer [6f2e711]
  - options: Make 'continue' configurable [92bd61f]
  - options: Make 'no-resolve' configurable [4afab3e]
  - Upgrade boost.m4 to the latest [c436150]

See ChangeLog for a more detailed list of changes.

 47 files changed, 1881 insertions(+), 1993 deletions(-)


v0.7.11  -- [2012-12-12, r:Toni Gundogdu]

Adam Sampson:
  - Check .error() for user-provided regexps [03d69e0]
  - Copy strings passed to StringPiece [5325ecc]

 3 files changed, 31 insertions(+), 19 deletions(-)


v0.7.10 (2012-08-28) / Toni Gundogdu

Toni Gundogdu:
  - Append contents of INSTALL file to README file [a90c854]
    - README file will contain the cclive specific information
    - INSTALL file will now be provided by GNU Autotools
  - configure.ac: Add AC_PROG_LN_S [da6c39a]
  - configure.ac: Install ccl symlink by default [9ecaaf8]
  - configure.ac: Lower AC_PREREQ to 2.67 [e317832]
  - configure.ac: Modernize AM_INIT options [76fd2d0]
  - configure.ac: Modernize libtool options [0f39e93]
  - configure.ac: Replace deprecated macros [59fce53]
  - configure.ac: Run gen-ver.sh to get version value [4f0d4a8]
  - DOC: Manual: Revise descriptions for option sections [fe31766]
  - DOC: Rewrite EXIT STATUS section [6690303]
  - FIX: Return non-zero exit status if failure (#18) [4d3c506]
    - exit_status: Redefine as ok (EXIT_SUCCESS) and error (EXIT_FAILURE) [20cbf6d]
      - Replace "invalid_option" with "error" [980792e]
    - main: Use exit_status, have caught exceptions set exit status [99bd1b2]
  - gen-ver.sh: Rewrite completely [df0a4ce]
  - go_background: Return application::error instead [36158a1]
  - Install ccl symlink now by default, see --disable-ccl in README
  - install-exec-hook: Remove the 'ccl' symlink [e394f71]
  - m4/boost.m4: Update to the most recent [1044d88]
  - m4/version.m4: Remove the file [d1e6bae]

 17 files changed, 206 insertions(+), 139 deletions(-)


v0.7.9  (2012-03-03) / Toni Gundogdu

Toni Gundogdu:
  - FIX: Print only HTTP category domains with --support (#17) [8172356]
  - FIX: --support: Strip lua escapes from domain patterns (#16) [b089d63]
  - Update boost.m4 to the latest version [edc7b12]


0.7.8  Sat Nov 26 2011  Toni Gundogdu
Changes:
    - Improvements to --exec
      - Invoke --exec with "nothing todo"
      - Additional specifiers %n and %t
      - Allow multiple occurences
      - Argument handling


0.7.7  Sun Oct 16 2011  Toni Gundogdu
Bugfixes:
    - Do not create doc dir unnecessarily with "make install"
    - Option -O evaluated incorrectly (#13)
Changes:
    - Use QUVI_VERSION_SCRIPTS when available
    - Add YouTube fmtNN ref. URL to manual


0.7.6  Mon Sep 12 2011  Toni Gundogdu
Changes:
    - Add --tr (depr. --regexp, --subst)
    - Add --prefer-format
    - Revise manual


0.7.5.1  Thu Aug 18 2011  Toni Gundogdu
Changes:
    - Lower quvi prerequisite to 0.2.16.1


0.7.5  Sat Aug 13 2011  Toni Gundogdu

Changes:
    - Make --update-interval a "configurable" option
    - Implement 'simple' progressbar
    - Add --progressbar
Fixes:
    - --update-interval (with negative) values doesn't work as intended (#11)


0.7.4.1  Thu Jun 23 2011  Toni Gundogdu

Fixes: dist
    - make: rm: cannot remove `cclive': Is a directory (#9)


0.7.4  Sat Jun 18 2011  Toni Gundogdu

Changes:
    - Add --no-resolve (replaces --no-shortened)
    - Rewrite to use quvi "media interface"
    - Add support for reading from files
    - Deprecate "--format list"
    - Remove --no-shortened
    - Add --query-format

Changes: dist
    - configure: Rename --with-man -> --with-manual
    - Bump quvi prerequisite to 0.2.17
    - Revert back to GNU Autotools


0.7.3.1  Tue Mar 15 2011  Toni Gundogdu
Bugfixes:
        - CMake Error at src/CMakeLists.txt:43 (#7)


0.7.3  Sat Mar 12 2011  Toni Gundogdu
Changes:
        - Add QUVIOPT_CATEGORY check
            - Set QUVIPROTO_HTTP
        - Do not build quvicpp as a static library
            - Build quvicpp in the "cclive" target instead
            - See also ChangeLog for 3a867d7 commit message
Bugfixes:
        - Compilation with boost 1.46.0 (#6)
            - Boost::Filesystem uses v3 as the new default in 1.46.0


0.7.2   Mon Feb 07 2011 Toni Gundogdu
Changes:
        - Add SIGUSR1 handler
        - Add progress meter
Bugfixes:
        - Normal progressbar min-max rendering while resizing window


0.7.1   Fri Jan 07 2011 Toni Gundogdu
Changes:
        - Lower pcre prereq. to 8.02, thanks to Alejandro Garrido Mota
        - Show --background in options on platforms that support fork
        - Print pid to log file with --background
        - Add getpid check to CMakeLists.txt
        - Add --no-shortened switch
        - Make --quiet exclusive
Bugfixes:
        - Wrong full path for downloaded file (#5) (d#608393)
        - Number of various issues with --background log


0.7.0.1  Sat Dec 18 2010  Toni Gundogdu
Changes:
        - Add --output-dir


0.7.0 rc2  Sat Dec 04 2010  Toni Gundogdu
Changes:
        - Lower boost prerequisite to 1.42.0, thanks to Alejandro Garrido Mota
        - Add --format [<help>|<list> <pattern>]
        - gzip manual before installing it
Bugfixes:
        - CMAKE_VERBOSE_MAKEFILE
        - Manual install dir


0.7.0 rc1  Sat Nov 20 2010  legatvs
Changes:
        - progressbar.cpp: Rewrite to_unit


0.7.0 beta4  Wed Nov 03 2010  legatvs
Changes:
        - Add --regexp check
        - Clean up manual page
        - Improve progressbar line clearing


Version 0.7.0 beta 3
October 15, 2010

Changes:
  * Print --help, --version, --license, --support to stdout


Version 0.7.0 beta 2
September 30, 2010

Changes:
  * Migrated issue tracker to sf.net (read more: <http://is.gd/fnDU2>)
  * Use "git describe" for version instead
  * Add --max-retries, --retry-wait (#47)
  * --version, print libquvi


Version 0.7.0 beta 1
September 1, 2010

Changes:
  * Add prerequisite: Boost library
  * Build system: GNU Autotools -> CMake
  * Rewrite everything

See also:
    <http://code.google.com/p/cclive/wiki/Development_0_7_0>


0.6.1
-------------

--format no longer uses hardcoded values. The accepted
values are now provided by libquvi.


0.6.0
-------------

Significant changes to the project. 0.6.0 has gone through
tedious testing but expect bugs.

* Added new dependency for libquvi (http://quvi.googlecode.com/)
  - libquvi is a brand new a spinoff library
  - based on cclive 0.5 host specific code
  - takes care of all of the page fetching and parsing

* cclive will now prepend "error: libquvi:" if an error occurs
in the library, this means that any such bug should be reported
to the *quvi bug tracker* (see the link above)

* Added support for (cctv) multi-segment videos, see also:
  http://code.google.com/p/clive/issues/detail?id=45

* Adult websites are now only supported if libquvi was built
with the support (default:no)

* CCLIVE_CURLINIT return code is now obsolete, libquvi
initializes libcurl and spews out the init error

* The code responsible for the underlaying "retry-transfer"
logic was rewritten for better readability

* Removed the libiconv dependency, libquvi takes care of
the character set conversions now

* Tests no longer run any of the old host specific checks,
the quvi package takes care of this now, other changes
to the test suite include:

  * ADULT_OK environment variable is now obsolete,
  this is now libquvi territory

  * Renamed CCLIVE_TEST_OPTS -> CCLIVE_TEST_OPTIONS

  * Tests are now perl scripts

  * See INSTALL file for the list of test suite supported
  environment variables

* libquvi introduces some misc. minor improvements to the 
page fetching and parsing, e.g. spiegel videos now skip
the video page fetch altogether

* Spyfilms video ids were previously (0.5.9) glued together
from various video page elements, as of 0.6.0 (and libquvi)
spyfilms video ids are generated using different scheme

  * This is a special case, all other supported websites
  use unique ids for their videos

* Option changes

  * Remove --stream option. This option was supported for historical
  reasons only, until now. It has been considered deprecated since
  the introduction of --stream-pass in 0.4.6.


0.5.7
-------------

Multiple regular expressions can now be supplied for --substitute.

For example:
  % cclive -S "s/old/new/i s/[/:-]/_/g" URL

Note the whitespace between the regular expressions.


0.5.6
-------------

Added --substitute which mimics Perl's s/old/new/(gi) substitution.
It can be used to replace substrings in output filenames.

Example:
  % cclive -S "s/old/new/i" URL
  % cclive -S "s/[/:-]/_/g" URL

Changed --regexp to accept Perl-like regular expressions, e.g.
  % cclive -r "/(\w+)/" URL
  % cclive -r "/(\w+)/g" URL
  % cclive -r "/([a-e])/gi" URL

Note that this breaks the backward compatibility.
  * --regexp now expects /pattern/(gi)
  * --find-all is no longer supported (use /g instead)

Added --background which is similar to what clive (2.1.x) once had.
The progress indication while in the background is very simplistic.
Note that --logfile and --logfile-interval options were also added
to support --background.


0.5.2
-------------

New youtube format: fmt34. This was previously referred to as youtube
default format which no longer appears to be the case. Note that the
fmt34 video quality and resolution may vary.

Fixes a few bugs.

Redtube support is broken.
  http://code.google.com/p/cclive/issues/detail?id=5


0.5.0
-------------

The dependency of Perl and HTML::Tokenizer module have been replaced with
libiconv and PCRE for significantly lower system footprint. Perl was previously
used for parsing video titles and cleaning them up.

configure no longer supports --enable-sigwinch. The support is now compiled
into the program automatically if signal.h is found and defines SIGWINCH.

tests/ have been rewritten in C++.

Other notable changes:

  Removed options:
  --title
    - obsoleted by --filename-format since 0.4.1 
  --cclass, --no-cclass
    - obsoleted by --regexp and --find-all (below)

  New options:
  -r, --regexp
    - Defines the regular expression that can be used to "filter"
      video titles before they are used for filenames

  -g, --find-all
    - Used together with the above to repeat the matching to find
      all occurences, similar to Perl's /g option

  Example:
    cclive -gr "(\w|\s)" URL

  Comparison:
  -----------
                              SIZE     RES      Notes
  clive  2.2.4              ~13924k  ~10388k    Perl all the way
  cclive 0.4.7 (w/ perl)     ~8300k   ~6908k    Video titles enabled
  cclive 0.4.7 (w/o perl)    ~5940k   ~3224k    No video titles
  cclive 0.5.0               ~5780k   ~3196k    Video titles enabled by default

  SIZE = total size of the process (text, data, and stack)
  RES  = current amount of resident memory

  Note  : Figures are approximates. cclive was built with "-O2 -march=pentium4"
  Tested: FreeBSD 7.2, numbers provided by top(1), numbers vary slightly per URL
