5.2 "11:14" (released 7.3.2010)

Fixes:
- logging: Use default platform encoding instead of hardcoded one
  of iso-8859-1.
  Closes: SF bug #2770077
- dns: Use /dev/urandom instead of /dev/random to get initial seed
  on Linux machines since the last one can block indefinitely.
  Closes: SF bug #2901667
- http: Retry if server closed connection and sent an empty
  status line. Fixes the "BadStatusLine" errors.
- http: Prevent UnicodeDecodeError on redirection by ensuring that
  the redirected URL will be Unicode encoded.
- checking: Prevent UnicodeDecodeError in robots.txt parser by
  encoding the linkchecker useragent string.
- installer: Add commandline executable to Windows installer.
  Closes: SF bug #2903257
- http: Warn about permanent redirections even when redirected URL is
  outside of the domain filter.
  Closes: SF bug #2920182
- mailto: An empty email-address is syntactically allowed according
  to RFC2368. So the syntax error about missing email-addresses gets
  demoted to a warning.
  Closes: SF bug #2910588
- cmdline: Expand tilde (~) in filenames given with the --config option.

Changes:
- cmdline: disabled and deprecated the --no-proxy-for option. Use the
  $no_proxy environment variable instead.
- dns: Updated dnspython module from upstream version 1.8.1.
- checking: Improved HTML parsing speed:
  a) The parsers for HTML title and robots.txt meta tags stop after seeing
     a <body> tag.
  b) Anchor references are not always parsed, but onl when the--anchor
     option was given.
  c) Found HTML links are not queued after parsing the whole file, but
     directly when found. This also saves some memory.

Features:
- checking: Check hyperlinks of Word documents. Needs pywin32
  installed.
- http: Allow and support HTTPS proxies.


5.1 "Let the right one in" (released 04.08.2009)

Fixes:
- logging: The content size of downloads is now shown again.
- logging: The CSV logger does not crash anymore when only parts
  of log output was configured
  Closes: SF bug #2806790
- http: Fixed persistent connection handling: retry connecting to HTTP
  servers which close persistent connections unexpectedly.
- bookmarks: correctly read the bookmark title from Mozilla places.sqllite
- checking: ignore the fragment part (ie. the anchor) of URIs when
  getting and caching HTTP content; follows the HTTP/1.1 specification which
  does not include fragments in the protocol. Thanks to Martin von Gagern
  for pointing this out.
  This also deprecates the --no-anchor-caching option which will be
  removed in future releases.
  Closes: SF bug #2784996
- checking: Prefer to encode spaces with %20 instead of + to be sure mailto:
  URLs are understood by email clients.
  Closes: SF bug #2820773
- checking: Allow digits at end of domain names.

Changes:
- logging: Switch default output encoding of loggers to UTF-8, except the
  text logger which also honors the system settings.
  Closes: SF bug #2579899
- logging: Make output more concise by not logging duplicate cached URLs.
- nntp: Only retry 3 instead of 5 times to connect to busy NNTP servers.
- cmdline: The command line script exits with error only when errors
  or warnings are printed. Previously it exited with error status even
  when all warnings were ignored.
  Closes: SF bug #2820812

Features:
- email: Added email syntax checking.
  Closes: SF bug #2595437
- gui: Improved progress dialog in GUI client: show active and queued URLs.
- gui: Added right-click context menu for logged URLs.
- nntp: Output welcome message from NNTP servers as info.
- http: Honor the no_proxy environment variable.
- config: the system configuration is copied to the user configuration at
  ~./linkchecker/linkcheckerrc if it does not exist yet.
- logging: the loggers now have an additional field "ID" which prints
  a unique ID for each logged URL.

5.0.2 "All the boys love Mandy Lane" (released 13.2.2009)

  * Properly detect location of the log configuration file in the Windows
    binary .exe.
    Closes: SF bug #2564674

  * Install locale .mo files in the Windows binary .exe

5.0.1 "Slumdog Millionaire" (released 31.1.2009)

  * Remove unit tests from distribution to avoid antivirus software
    alarms with the virus filter tests.
    Closes: SF bug #2537822

  * Updated dnspython module from upstream.
    Changed: linkcheck/dns/*, tests/dns/*

5.0 "Iron Man" (released 24.1.2009)

  * Require and use Python >= 2.5.
    Type: feature
    Changed: *.py

  * Send HTTP Referer header for both http and https URLs.
    Type: feature
    Changed: linkcheck/checker/httpurl.py

  * The HTML and CSS syntax check now only applies to URLs
    which match those given on the command line.
    This makes checking of personal pages easier.
    Type: feature
    Changed: linkcheck/checker/urlbase.py

  * Added online HTML and CSS syntax checks using W3C validators.
    Implemented as commandline options --check-html-w3 and
    --check-css-w3.
    Type: feature
    Changed: linkchecker, linkcheck/checker/urlbase.py

  * Added ability to scan URL content with ClamAV virus scanner.
    Implemented as commandline option --scan-virus.
    Type: feature:
    Changed: linkchecker, linkcheck/checker/urlbase.py
    Added: linkcheck/clamav.py

  * Improved network interface detection on POSIX systems.
    Type: bugfix
    Added: linkcheck/network/*

  * Improved graph output: print labels as node names. Thanks
    to Jan Weiss for the initial idea.
    Type: feature
    Changed: linkcheck/logger/{dot,gml,gxml}.py
    Added: linkcheck/logger/graph.py

  * Add support for setuptools and thus Python eggs in the setup.py
    script. This should fix installation errors for generated .egg
    files.
    Type: feature
    Closes: SF bug #1985509

  * Support parsing of HTML pages served with application/xhtml+xml
    content type.
    Type: bugfix
    Closes: SF bug #1994104

  * Support reading URLs from stdin in the commandline interface.
    Type: feature
    Closes: SF bug #2013873, #2013874
    Changed: linkchecker

  * Improved filename recognition on Windows systems.
    Type: bugfix
    Changed: linkcheck/checker/fileurl.py

  * Fix error encoding non-ASCII robots.txt content. Makes some sites
    like wikipedia.org accessible with LinkChecker.
    Type: bugfix
    Changed: linkcheck/robotparser2.py

  * Fix off-by-one error in cookie domain matching code. Prevented
    some cookie files to work properly.
    Type: bugfix
    Changed: linkcheck/cookies.py
    Closes: SF bug #2016451

  * Improved double Ctrl-C abort on Unix and Windows platforms.
    Type: feature
    Changed: linkcheck/director/__init__.py

  * Support reading Firefox 3 bookmark files in SQLite format.
    Type: feature
    Changed: linkcheck/checker/fileurl.py

  * Handle non-Latin1 filenames when checking local directories.
    Type: bugfix
    Closes: SF bug #2093225
    Changed: linkcheck/checker/fileurl.py

  * Use configured proxy when requesting robots.txt, especially
    honor the noproxy values.
    Type: bugfix
    Closes: SF bug #2091297
    Changed: linkcheck/robotparser2.py, linkcheck/cache/robots_txt.py,
      linkcheck/checker/httpurl.py

  * Added new --complete option; making --verbose less chatty.
    Type: feature
    Closes: SF #2338973
    Changed: linkchecker, linkcheck/configuration/__init__.py

  * Remove gopher: URL checking.
    Type: feature
    Changed: linkcheck/checker/unkonwnurl.py
    Removed: linkcheck/checker/gopherurl.py

4.9 "Michael Clayton" (released 25.4.2008)

  * Parse Shockwave Flash (SWF) for URLs to check
    Type: feature
    Changed: linkcheck/checker/urlbase.py

  * Don't parse <script for=""> attributes since they specify IDs, not
    URLs.
    Type: bugfix
    Changed: linkcheck/linkparse.py

  * Fix bash filename completion script:
      - add missing COMPREPLY variable
      - support whitespace in files using "-o filenames" bash completion
        option
      - support subdirs by adding a FileCompleter argument matcher to
        optcomplete.autocomplete()
    Type: bugfix
    Changed: config/linkchecker-completion

  * Prevent unicode errors when an email address contains non-ascii
    characters.
    Type: bugfix
    Changed: linkcheck/checker/mailtourl.py

  * Workaround for buggy servers that break protocol synchronization of
    persistent HTTP connections.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py
    Closes: SF bug #1913992

  * Properly fall back to DNS A requests when no MX host could be found
    for a mailto: URL.
    Type: bugfix
    Changed: linkcheck/checker/mailtourl.py
    Closes: SF bug #1942463

  * Double Ctrl-C aborts checking immediately, without cleanup.
    Type: feature
    Changed: linkcheck/director/__init__.py
    Closes: SF bug #1720104

  * Intern patterns now accept URLs with and without "www." prefixes
    as default. This allows sites to check that use both variants.
    Type: feature
    Changed: linkcheck/checker/internpaturl.py

  * Added --check-html and --check-css options to enable HTML and CSS
    syntax checking. Uses third-party modules "tidy" and "cssutils"
    for the actual check.
    Type: feature
    Changed: linkchecker, linkcheck/checker/urlbase.py

4.8 "Hallam Foe" (released 16.12.2007)

  * Fix message typo for not disclosing information.
    Type: documentation
    Closes: SF bug #1758531
    Changed: linkcheck/director/console.py, po/de.po, po/linkchecker.pot

  * Always read the request body data on persistent HTTP connections, else
    subsequent calls will get data from the previous request.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Zope server workaround: assume missing HEAD support when receiving
    text/plain on a HEAD request. Switch to GET request in this case.
    Type: bugfix
    Closes: SF bug #1770131
    Changed: linkcheck/checker/httpurl.py

  * Prevent double encoding in HTML info output.
    Type: bugfix
    Changed: linkcheck/logger/html.py

  * Honor urllib.proxy_bypass() when ignoring proxy settings.
    This only affected Windows systems, since on other platforms
    the proxy_bypass() function always return False (on Python <= 2.5
    that is).
    Type: bugfix
    Changed: linkcheck/checker/proxysupport.py

  * Document the --configfile option in the man page.
    Type: documentation
    Changed: doc/{en,de}/linkchecker.1

  * Remove comments from CSS content before searching for links.
    Type: bugfix
    Changed: linkcheck/linkparse.py, linkcheck/checker/urlbase.py
    Closes: SF bug #1831900

  * Try to detect unkonwn URL schemes from the command line, eg. URLs
    like "rtsp://foo".
    Type: feature
    Changed: linkchecker, linkcheck/lc_cgi.py,
      linkcheck/checker/{__init__,urlbase,httpurl,unknownurl}.py

  * Fix typo in warnings and use constants for the warning strings
    to avoid this in the future.
    Type: bugfix
    Closes: SF bug #1838803
    Changed: linkcheck/checker/__init__.py

  * Make sure LinkChecker does not check paths that are not prefixed
    with the start URL.
    Type: bugfix
    Closes: SF bug #1841305
    Changed: linkcheck/checker/internpaturl.py
    Added: linkcheck/checker/test/test_internpat.py

  * Try to solve the "Too many open files" errors that users have
    encountered.
    + Ensure that the connection of a checked URL are closed after checking
      (except for reused connections in the connection pool).
    + Regularly close expired connections from the connection pool, and
      finally close all of them when the program is finished.
    Closes: SF #1758338, SF #1678055, SF #1631042
    Type: bugfix
    Changed: linkcheck/cache/connection.py, linkcheck/director/aggregator.py,
      linkcheck/checker/{httpurl,mailtourl,urlbase,ftpurl}.py
    Added: linkcheck/directory/cleanup.py

  * Add man page linkcheckerrc(5) for the configuration file format.
    Type: documentation
    Added: doc/{en,de}/linkcheckerrc.5
    Changed: doc/po4a.conf

  * Drop french translations, they are less than 20% complete for
    years now.
    Type: documentation
    Removed: doc/fr/*

  * Correct misnamed colums in create.sql script: r/*string/\1/g
    Type: bugfix
    Changed: config/create.sql
    Closes: SF #1849733

  * Improved cookie parsing:
    + Allow spaces in attribute values. Example:
      "Set-Cookie: expires=Wed, 12-Dec-2001 19:27:57 GMT"
      is now parsed correctly
    + Add an optional leading dot for domain names, and account for that
      in the domain checking routine.
    Type: feature
    Changed: linkcheck/cookies.py

  * Don't print cached errors or warnings unless verbose output is
    requested.
    Type: feature
    Changed: linkcheck/director/logger.py,
      linkcheck/logger/{__init__,html,text}.py

4.7 "300" (released 17.6.2007)

  * Mention in the documentation that --anchors enables logging of
    the anchor warning.
    Type: documentation
    Changed: linkchecker, linkcheck/doc/*/linkchecker.1

  * Make sure --anchors and --no-warnings play along in the configuration.
    Type: bugfix
    Changed: linkchecker, linkcheck/configuration/__init__.py

  * Check that charset is not None before lowering it in set_encoding().
    Type: bugfix
    Changed: linkcheck/HtmlParser/__init__.py

  * Use standard "utf-8" charset name instead of "utf8" for the XML output
    encoding. Thanks to Dan Reitano for the note.
    Type: bugfix
    Changed: linkcheck/logger/xmllog.py

  * Added "created" attribute in XML output root element.
    Added "result" attribute in XML output valid element.
    Type: feature
    Changed: linkcheck/logger/customxml.py

  * Fix printing of unicode names. Thanks to Frank Bennet for the hint.
    Type: bugfix
    Changed: linkcheck/logger/{html,text}.py

  * Deprecate gopher: URLs. They do not really exist anymore and the
    gopherlib module in Python 2.5 is deprecated and will vanish soon.
    Type: feature
    Changed: doc/*/{documentation.txt,linkchecker.1}, linkchecker

4.6 "Cars" (released 16.12.2006)

  * Fixed default config file syntax by not indenting comment lines
    Type: bugfix
    Changed: config/linkcheckerrc

  * Don't set the URL result on redirections when getting the content.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Ignore errors when opening the log file output, and display a warning
    instead.
    Type: bugfix
    Closes: SF bug #1600172
    Changed: linkcheck/logger/__init__.py
    Added: linkcheck/dummy.py

  * Added some more examples.
    Added: doc/examples/*.sh

  * Pull in changes from Python subversion repository to locally stored
    gzip and httplib modules.
    Type: bugfix
    Changed: linkcheck/{httplib2,gzip2}.py

4.5 "The Good Humor Man" (released 25.9.2006)

  * Don't ignore robots.txt entries consisting only of Allow: directives.
    Type: bugfix
    Changed: linkcheck/robotparser2.py

  * Don't rely on HTTP HEAD requests to generate the same response status
    as HTTP GET. So we have to follow redirections when using HTTP GET to
    get page contents.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Document proxy URL syntax.
    Closes: SF bug #1562129
    Type: documentation
    Changed: linkchecker, {doc,po}/{en,de}.po, doc/{en,de}/linkchecker.1

  * Print active URLs on Ctrl-C interrupt.
    Closes: SF patch #1562177
    Type: feature
    Changed: linkcheck/director/__init__.py

  * Replace all old "entry1, entry2" configuration entries with
    multiline "entry" config entry. The old syntax is still supported,
    but deprecated.
    Closes: SF patch #1562195
    Type: feature
    Changed: linkcheck/configuration/confparse.py

  * If LinkChecker was not able to spawn the initial checker and status
    threads, print an informative error instead of an internal error.
    Type: feature
    Changed: linkcheck/director/__init__.py

4.4 "Garden State" (released 16.9.2006)

  * The JavaScript URL syntax check allows now digits and underscores.
    Patch from Olivier Berger.
    Type: bugfix
    Changed: cgi-bin/lconline/check.js

  * Add "internlinks" documentation and example to the default config
    file linkcheckerrc.
    Type: documentation
    Changed: config/linkcheckerrc

  * Detect more cases when a HTTP connection cannot be reused and
    must be closed. And close response objects after usage.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Only wait before a new connection to a host, not when reusing
    a previous connection.
    Type: bugfix
    Changed: linkcheck/cache/connection.py

  * Add more infos to various HTTP errors. Don't close connection when
    the response object is still open.
    Type: feature
    Changed: linkcheck/httplib2.py

  * Ignore keyboard interrupts during shutdown.
    Type: bugfix
    Changed: linkcheck/director/__init__.py

  * Removed old Psyco references from man page and documentation.
    Type: documentation
    Changed: doc/*/linkchecker.1, doc/en/install.txt

4.3 "Brick" (released 17.8.2006)

  * Use RawConfigParser for config parsing, getting rid of the unused
    interpolation feature of the default ConfigParser.
    Type: feature
    Changed: linkcheck/configuration/confparse.py
    
  * Removed the deprecated --disable-psyco option.
    Type: feature
    Changed: linkchecker

  * Allow infinite recursion in CGI script, and add a warning about
    performance requirements.
    Type: feature
    Changed: cgi-bin/lconline/lc_cgi.html.*, linkcheck/lc_cgi.py,
      doc/en/install.txt

4.2 "V for Vendetta" (released 26.7.2006)

  * Drop privileges when running as root under Unix systems. Add
    new option --allow-root to prevent this.
    Type: feature
    Changed: linkchecker, doc/{en,de}/linkchecker.1
  
  * Don't generate empty output files, open them only when they are
    written to.
    Type: bugfix
    Changed: linkcheck/logger/{__init__,text}.py

  * Only accept ASCII in robots.txt content
    Type: bugfix
    Changed: linkcheck/robotsparser2.py

  * Fix the --profile option run.
    Type: bugfix
    Changed: linkchecker

  * Remove the psyco optimizer, it prevented Ctrl-C breaking to work
    properly.
    Type: bugfix
    Changed: linkchecker

  * Norm the base reference URL.
    Type: bugfix
    Changed: linkcheck/checker/urlbase.py

  * If default encoding cannot be determined, fall back to ASCII.
    Type: bugfix
    Changed: linkcheck/i18n.py
    Closes: SF bug #1524800

4.1 "Tsotsi" (released 29.5.2006)

  * Wait for spawned threads to finish before shutdown. Gets rid
    of exceptions during shutdown.
    Type: bugfix
    Changed: linkcheck/director/*.py

  * Every once in a while look through the URL queue and put cached
    URLs to the top. This way cached URLs will get checked more quickly.
    Type: feature
    Changed: linkcheck/cache/urlqueue.py

4.0 "Down in the Valley" (released 19.5.2006)

  * Put a name to the DOT graph output. Thanks to Peter Chiocchetti
    for noticing this.
    Type: bugfix
    Changed: linkcheck/logger/dot.py

  * Parse <!> empty SGML comments in HTML data. And build the HTML
    parser with equivalence class compression which makes it a lot
    smaller and only a little tad slower.
    Also, literal </script> is not allowed anymore in single-line
    JavaScript comments in HTML data.
    Type: feature
    Changed: linkcheck/HtmlParser/htmllex.[lc],
      linkcheck/tests/test_parser.py

  * Revamp the threading algorithm by using a URL queue, with a
    constant number of consumer threads called 'workers'.
    This fixes the remaining "dequeue mutated during iteration" errors.
    Type: feature
    Changed: *.py

  * The default intern pattern matches both http: and https: schemes
    now.
    Type: feature
    Changed: linckheck/checker/internpaturl.py

  * If the robots.txt connection times out, don't bother to check
    the URL but report an error immediately. Avoids having the
    timeout twice.
    Type: feature
    Changed: linkcheck/robotparser2.py

  * DNS lookups for HTTP links are now cached.
    Type: feature
    Changed: linkcheck/httplib2.py
    Added: linkcheck/cache/addrinfo.py

  * Added timeout value option to the configuration file.
    Type: feature
    Changed: linkcheck/configuration/confparse.py, config/linkcheckerrc

  * New option --cookiefile to set initial cookie values sent to
    HTTP servers.
    Type: feature
    Changed: linkchecker, linkcheck/configuration/__init__.py,
      linkcheck/checker/httpurl.py, linkcheck/cookies.py

  * The --pause option delays requests to the same host, and is not
    required to disable threading to do that.
    Type: bugfix
    Changed: linkcheck/cache/connection.py, linkcheck/checker/urlbase.py,
      linkcheck/directory/__init__.py

  * Honor the "Crawl-delay" directive in robots.txt files.
    Type: feature
    Changed: linkcheck/robotparser2.py, linkcheck/checker/httpurl.py,
      linkcheck/cache/robots_txt.py, linkcheck/cache/connection.py,

  * Merge IgnoredUrl and ErrorUrl into UnknownUrl. Enables caching
    on invalid URLs, plus the ability to first check for external
    URL patterns.
    Type: bugfix
    Changed: linkcheck/checker/__init__.py
    Removed: linkcheck/checker/{ignored,error}url.py
    Added: linkcheck/checker/unknownurl.py

  * Convert the "label too long" domain name parse error into
    a more friendly error message.
    Type: bugfix
    Changed: linkcheck/checker/{__init__,urlbase,httpurl,fileurl}.py,
      linkchecker

3.4 "The Chumscrubbers" (released 4.2.2006)

  * Ignore decoding errors when retrieving the robots.txt URL.
    Type: bugfix
    Changed: linkcheck/robotparser2.py

  * On HTTP redirects, cache all the encountered URLs, not just the
    initial one.
    Type: feature
    Changed: linkcheck/checker/{urlbase,httpurl,cache}.py

  * Fixed the Cookie parsing and sending.
    Type: bugfix
    Changed: linkcheck/checker/cache.py
    Added: linkcheck/cookies.py

  * The psyco optimizer now has a maximum memory limit.
    Type: feature
    Changed: linkchecker

  * The checker did not recurse into command line URLs that had upper
    case characters.
    Type: bugfix
    Changed: linkcheck/checker/__init__.py
    Closes: SF bug #1413162

  * Fix a possible thread race condition by checking the return
    value of the lock.acquire() method.
    Type: bugfix
    Changed: linkcheck/decorators.py

3.3 "Four Brothers" (released 14.10.2005)

  * Fix parsing of ignore and nofollow in configuration files.
    Type: bugfix
    Changed: linkcheck/configuration.py
    Closes: SF bug #1311964, #1270783

  * Ignore refresh meta content without a recognizable URL.
    Type: bugfix
    Changed: linkcheck/linkparse.py
    Closes: SF bug #1294456

  * Catch CGI syntax errors in mailto: URLs, and add an appropriate
    warning about the error.
    Type: bugfix
    Changed: linkcheck/checker/mailtourl.py
    Closes: SF bug #1290563

  * Initialize the i18n on module load time, so one does not have
    to call init_i18n() manually anymore. Fixes parts in the code
    (ie. the CGI script) that forgot to do this.
    Type: feature
    Changed: linkcheck/__init__.py
    Closes: SF bug #1277577

  * Compress libraries in the .exe installer with UPX compressor.
    Type: feature
    Changed: setup.py

  * Ensure that base_url is Unicode for local files.
    Type: bugfix
    Changed: linkcheck/checker/fileurl.py
    Closes: Debian bug #332870

  * The default encoding for program and logger output will be the
    preferred encoding now. It is determined from your current locale
    system settings.
    Type: feature
    Changed: linkchecker, linkcheck/checker/__init__.py,
      linkcheck/i18n.py, linkcheck/logger/__init__.py

  * Improved documentation about recursion and proxy support.
    Type: documentation
    Changed: linkchecker, doc/en/documentation.txt,
      doc/{en,de}/linkchecker.1

  * Make sure that given proxy values are reasonably well-formed.
    Else abort checking of the current URL.
    Type: feature
    Changed: linkcheck/checker/proxysupport.py

  * Correctly catch internal errors in the check URL loop, and
    disable raising certain exceptions while the abort routine finishes
    up.
    Fixes the "dequeue mutated during iteration" errors.
    Type: bugfix
    Changed: linkcheck/checker/{__init__,consumer}.py
    Closes: SF bug #1325570, #1312865, #1307775, #1292919, #1264865

3.2 "Kiss kiss bang bang" (released 3.8.2005)

  * Fixed typo in redirection handling code.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py
  
  * Handle all redirections to different URL types, not just HTTP ->
    non-HTTP.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Workaround a urllib2.py bug raising ValueError on some failed
    HTTP authorisations.
    Type: bugfix
    Closes: SF bug #1250555
    Changed: linkcheck/robotparser2.py

  * Fix invalid import in DNS resolver.
    Type: bugfix
    Changed: linkcheck/dns/resolver.py

3.1 "Suspicious" (released 18.7.2005)

  * Updated documentation for the HTML parser.
    Type: feature
    Changed: linkcheck/HtmlParser/*
    
  * Added new DNS debug level and use it for DNS routines.
    Type: feature
    Changed: linkcheck/__init__.py, doc/en/linkchecker.1,
      linkcheck/dns/{ifconfig,resolver}.py

  * Use tags for different LinkChecker warnings and allow them to
    be filtered with a configuration file entry.
    Type: feature
    Changed: linkchecker, linkcheck/checker/*.py,
      linkcheck/configuration.py

  * Add compatibility fix for HTTP/0.9 servers, from Python CVS.
    Type: bugfix
    Changed: linkcheck/httplib2.py

  * Add buffer flush fix for gzip files, from Python CVS.
    Type: bugfix
    Changed: linkcheck/gzip2.py

  * Do not cache URLs where a timeout or unusual error occurred.
    This way they get re-checked.
    Type: feature
    Changed: linkcheck/checker/{__init__, urlbase}.py

  * For HTTP return codes, try to use the official W3C name when it
    is defined.
    Type: feature
    Changed: linkcheck/checker/httpurl.py

  * Fix detection code of supported GCC command line options. this
    fixes a build error on some Unix systems (eg. FreeBSD).
    Type: bugfix
    Closes: SF bug #1238906
    Changed: setup.py

  * Renamed the old "xml" output logger to "gxml" and added a new
    "xml" output logger which writes a custom XML format.
    Type: feature
    Changed: linkchecker, linkcheck/logger/*xml*.py

  * Use correct number of checked URLs in status output.
    Type: bugfix
    Closes: SF bug #1239943
    Changed: linkcheck/checker/consumer.py

3.0 "The Jacket" (released 8.7.2005)

  * Catch all check errors, not just the ones inside of URL checking.
    Type: bugfix
    Changed: linkcheck/checker/__init__.py

  * Ensure that the name of a newly created thread is ASCII. Else there
    can be encoding errors.
    Type: bugfix
    Changed: linkcheck/strformat.py, linkcheck/checker/consumer.py,
      linkcheck/threader.py

  * Use our own gzip module to cope with incomplete gzip streams.
    Type: bugfix
    Closes: SF bug #1158475
    Changed: linkcheck/checker/httpurl.py
    Added: linkcheck/gzip2.py

  * Fix hard coded python.exe path in the batch file linkchecker.bat.
    Type: bugfix
    Closes: SF bug #1206858
    Changed: setup.py, install-linkchecker.py

  * Allow empty relative URLs. Note that a completely missing URL is
    still an error (ie. <a href=""> is valid, <a href> is an error).
    Type: bugfix
    Closes: SF bug #1217397
    Changed: linkcheck/linkparse.py, linkcheck/logger/*.py,
      linkcheck/checker/urlbase.py

  * Added checks for more <meta> URL entries, especially favicon
    check was added.
    Type: feature
    Changed: linkcheck/linkparse.py

  * Limit memory consumption of psyco optimizer.
    Type: feature
    Changed: linkchecker

  * Always norm the URL before sending a request.
    Type: bugfix
    Changed: linkcheck/checker/urlbase.py

  * Send complete email address on SMTP VRFY command. Avoids a spurious
    warning about incomplete email addresses.
    Type: bugfix
    Changed: linkcheck/checker/mailtourl.py

  * The old intern/extern URL configuration has been replaced with
    a new and hopefully simpler one. Please see the documentation on
    how to upgrade to the new option syntax.
    Type: feature
    Changed: linkchecker, linkcheck/*.py

  * Honor XHTML in tag browser.
    Type: bugfix
    Closes: SF bug #1217356
    Changed: linkcheck/linkparse.py

  * Catch curses.setupterm() errors.
    Type: bugfix
    Closes: SF bug #1216092
    Changed: linkcheck/ansicolor.py

  * Only call _optcomplete bash completion function when it exists.
    Type: bugfix
    Closes: Debian bug #309076
    Changed: config/linkchecker-completion

  * If a default config file (either /etc/linkchecker/linkcheckerrc or
    ~/.linkchecker/linkcheckerrc) does not exist it is not added to
    the config file list.
    Type: bugfix
    Changed: linkcheck/configuration.py

  * The default output encoding is now that of your locale, and not
    the hardcoded iso-8859-15 anymore.
    Type: feature
    Closes: Debian bug #307810
    Changed: linkcheck/logger/__init__.py

  * Do not generate an empty user config dir ~/.linkchecker by default,
    only when needed.
    Type: feature
    Closes: Debian bug #307876
    Changed: linkchecker

  * Redundant dot path at beginning of relative urls are now removed.
    Type: feature
    Changed: linkcheck/url.py, linkcheck/tests/test_url.py

  * Displaying warnings is now the default. One can disable warnings
    with the --no-warnings option. The old --warnings option is
    deprecated.
    Type: feature
    Changed: linkchecker, linkcheck/configuration.py

  * CGI parameters in URLs are now properly splitted and normed.
    Type: bugfix
    Changed: linkcheck/url.py

  * The number of encountered warnings is printed on program end.
    Type: feature
    Changed: linkcheck/logger/{text,html}.py

  * The deprecated --status option has been removed.
    Type: feature
    Changed: linkchecker

  * New option --disable-psyco to disable psyco compilation regardless
    if it is installed.
    Type: feature
    Changed: linkchecker

  * Since URL aliases from redirections do not represent the real
    URL with regards to warnings, the aliases are no longer cached.
    Type: bugfix
    Changed: linkcheck/checker/cache.py, linkcheck/checker/httpurl.py

  * The ignored url type honors now intern/extern filters.
    Type: bugfix
    Changed: linkcheck/checker/ignoreurl.py
    Closes: SF #1223956

2.9 "Sweat" (released 22.4.2005)

  * Use collections.deque object for incoming URL list. This is faster
    than a plain Python list object.
    Type: optimization
    Changed: linkcheck/checker/cache.py

  * Updated spanish translation, thanks to Servilio Afre Puentes.
    Type: feature
    Changed: po/es.po

2.8 "Robots" (released 8.4.2005)

  * Correct AttributeError in blacklist logger.
    Type: bugfix
    Closes: SF bug #1173823
    Changed: linkcheck/logger/blacklist.py

  * Do not enforce an optional slash in empty URI paths. This resulted
    in spurious warnings.
    Closes: SF bug #1173841
    Changed: linkcheck/url.py, linkcheck/tests/test_url.py

  * On NT-derivative Windows systems, the command line scripts is now named
    "linkchecker.bat" to facilitate execution.
    Type: feature
    Changed: setup.py, install-linkchecker.py, doc/en/index.txt

  * Use pydoc.pager() in strformat.paginate() instead of rolling out
    our own paging algorithm.
    Type: feature
    Changed: linkcheck/strformat.py

2.7 "Million Dollar Baby" (released 30.3.2005)

  * When a host has no MX record, fall back to A records as the mail
    host.
    Type: bugfix
    Changed: linkcheck/checker/mailtourl.py

  * Do not split CGI params on semicolons. This is wrong of course,
    but not supported by all servers. A later version of the CGI parser
    engine will split and re-join semicolons.
    Type: bugfix
    Changed: linkcheck/url.py

  * Make sure that URLs are always Unicode strings and not None.
    Type: bugfix
    Closes: SF bug #1168720
    Changed: linkcheck/linkparse.py, linkcheck/containers.py

  * Fix the detection of persistent HTTP connections.
    Type: bugfix
    Changed: linkcheck/checker/httpheaders.py

  * HTTP connections with pending data will not be cached.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Add all URL aliases to the URL cache to avoid recursion. This
    also changes some invariants about what URLs are expected to be
    in the cache.
    Type: bugfix
    Changed: linkcheck/checker/cache.py

2.6 "Lord of the Rings" (released 15.3.2005)

  * Run with low priority. New option --priority to run with normal
    priority.
    Type: feature
    Changed: linkchecker, linkcheck/threader.py

  * If GeoIP Python wrapper is installed, log the country name as info.
    Type: feature
    Changed: linkcheck/checker/consumer.py
    Added: linkcheck/checker/geoip.py

  * New option --no-proxy-for that lets linkchecker contact the given
    hosts directly instead of going through a proxy.
    Also configurable in linkcheckerrc
    Type: feature
    Changed: linkchecker, linkcheck/checker/proxysupport.py,
      linkcheck/configuration.py

  * Give a useful error message for syntax errors in regular expressions.
    Type: bugfix
    Changed: linkchecker, linkcheck/configuration.py

  * Accept quoted urls in CSS attributes.
    Type: bugfix
    Changed: linkcheck/linkparse.py

  * Eliminate duplicate link reporting in the link parser.
    Type: bugfix
    Changed: linkcheck/linkparse.py

  * Do not send multiple Accept-Encoding headers.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Avoid deadlocks between the cache and the queue lock.
    Type: bugfix
    Changed: linkcheck/checker/consumer.py, linkcheck/checker/cache.py
    Added: linkcheck/lock.py

  * Always reinitialize stored HTTP headers on redirects; prevents
    a false alarm about recursive redirects.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

2.5 "Spanglish" (released 4.3.2005)

  * Added spanish translation, thanks to Servilio Afre Puentes.
    Type: feature
    Changed: po/Makefile
    Added: po/es.po

  * Ignore a missing locale/ dir and fall back to the default locale
    instead of crashing.
    Type: bugfix
    Changed: linkcheck/i18n.py

  * Since profile.py and pstats.py have been removed from some
    Python standard installations (eg. Debian GNU/Linux), make their
    usage optional.
    Using --profile without an available profile.py prints a warning
    and runs linkchecker without profiling.
    Using --viewprof without an available pstats.py prints an error
    and exits.
    Type: bugfix
    Changed: linkchecker

  * Ensure stored result, info and warning strings are always Unicode.
    Else there might be encoding errors.
    Type: bugfix
    Closes: SF bug #1143553
    Changed: linkcheck/checker/{urlbase,httpurl,ftpurl}.py,
      linkcheck/strformat.py

  * Fix -h help option on Windows systems
    Type: bugfix
    Closes: SF bug #1149987
    Changed: linkchecker

2.4 "Kitchen stories" (released 9.2.2005)

  * Work around a Python 2.4 bug when HTTP 302 redirections are
    encountered in urllib2.
    Type: bugfix
    Changed: linkcheck/robotparser2.py

  * Be sure to use Unicode HTML parser messages.
    Type: bugfix
    Changed: linkcheck/linkparse.py

  * Make sure that FTP connections are opened when they are reused.
    Else open a new connection.
    Type: bugfix
    Changed: linkcheck/checker/ftpurl.py

  * Added '!' to the list of unquoted URL path characters.
    Type: bugfix
    Changed: linkcheck/url.py, linkcheck/tests/test_url.py

  * Fix Windows path name for network paths.
    Type: bugfix
    Closes: SF bug #1117839
    Changed: linkcheck/checker/fileurl.py

  * Regularly remove expired connections from the connection pool.
    Type: feature
    Changed: linkcheck/checker/pool.py

  * Documentation and pylint cleanups.
    Type: feature
    Changed: linkcheck/*.py

2.3 "Napoleon Dynamite" (released 3.2.2005)

  * Use and require Python >= 2.4.
    Type: feature
    Changed: doc/install.txt, linkcheck/__init__.py, some scripts

  * Add square brackets ([]) to the list of allowed URL characters
    that do not need to be quoted.
    Type: bugfix
    Changed: linkcheck/url.py

  * Document the return value of the linkchecker command line script
    in the help text and man pages.
    Type: documentation
    Changed: linkchecker, doc/{en,de,fr}/linkchecker.1

  * Always write the GML graph beginning, not just when "intro" field
    is defined.
    Type: bugfix
    Changed: linkcheck/logger/gml.py

  * Added DOT graph format output logger.
    Type: feature
    Added: linkcheck/logger/dot.py
    Changed: linkcheck/logger/__init__.py, linkcheck/configuration.py,
      linkchecker

  * Added ftpparse module to parse FTP LIST output lines.
    Type: feature
    Added linkcheck/ftpparse/*
    Changed: setup.py, linkcheck/checker/ftpurl.py

  * Ignore all errors when closing SMTP connections.
    Type: bugfix
    Changed: linkcheck/checker/mailtourl.py

  * Do not list FTP directory contents when they are not needed.
    Type: bugfix
    Changed: linkcheck/checker/ftpurl.py

  * Added connection pooling, used for HTTP and FTP connections.
    Type: feature
    Added: linkcheck/checker/pool.py
    Changed: linkcheck/checker/{cache, httpurl, ftpurl}.py

  * The new per-user configuration file is now stored in
    ~/.linkchecker/linkcheckerrc.
    Type: feature
    Changed: linkchecker, linkcheck/configuration.py, doc/{de,en,fr}/*.1

  * The new blacklist output file is now stored in
    ~/.linkchecker/blacklist.
    Type: feature
    Changed: linkchecker, linkcheck/configuration.py, doc/{de,en,fr}/*.1

  * Start the log output before appending new urls to the consumer since
    this can trigger logger.new_url().
    Type: bugfix
    Changed: linkcheck/checker/{__init__, consumer}.py

  * Fix crash when using -t option.
    Type: bugfix
    Changed: linkchecker

  * Updated french translation of linkchecker, thanks to Yann Verley.
    Type: feature
    Changed: po/fr.po, doc/fr/linkchecker.1

2.2 "Cube" (released 25.01.2005)

  * CSV log format changes:
    - default separator is now a comma, not a semicolon
    - the quotechar can be configured and defaults to a double quote
    - write CSV column headers as the first data row
      (thanks to Hartmut Goebel)
    Type: feature
    Changed: linkcheck/logger/csvlog.py

  * Support bzip-compressed man pages in RPM install script.
    From Hartmut Goebel.
    Type: feature
    Changed: install-rpm.sh

  * HTML parser updates:
    - supply and use Py_CLEAR macro
    - only call set_encoding function if tag name is 'meta'
    Type: feature
    Changed: linkcheck/HtmlParser/*

  * Changed documentation format for epydoc.
    Type: documentation
    Changed: *.py

  * Fix FTP error message display crash.
    Type: bugfix
    Changed: linkcheck/checker/ftpurl.py

  * Ask before overwriting old profile data with --profile.
    Type: feature
    Changed: linkchecker

  * When searching for link names, limit the amount of data to look at
    to 256 characters. Do not look at the complete content anymore.
    This speeds up parsing of big HTML files significantly.
    Type: optimization
    Changed: linkcheck/linkparse.py

  * Support Psyco >= 1.4. If you installed older versions of Psyco,
    a warning is printed.
    Type: feature
    Changed: linkchecker, doc/install.txt

  * The build script setup.py uses -std=gnu99 when using GNU gcc compilers.
    This gets rid of several compile warnings.
    Type: feature
    Changed: setup.py

  * Correct the sent User-Agent header when getting robots.txt files.
    Added a simple robots.txt example file.
    Type: bugfix
    Changed: linkcheck/robotparser2.py
    Added: doc/robots.txt

  * Updated the included linkcheck/httplib2.py from the newest httplib.py
    found in Python CVS.
    Type: feature
    Changed: linkcheck/httplib2.py

  * Do not install unit tests. Only include them in the source distribution.
    Type: feature
    Changed: MANIFEST.in, setup.py

2.1 "Shogun Assassin" (released 11.1.2005)

  * Added XHTML support to the HTML parser.
    Type: feature
    Changed: linkcheck/HtmlParser/*

  * Support plural forms in gettext translations.
    Type: feature
    Changed: po/*.po*

  * Remove intern optcomplete installation, and make it optional to
    install, since it is only needed on Unix installations using
    bash-completion.
    Type: feature
    Changed: linkchecker, config/linkchecker-completion
    Removed: linkcheck/optcomplete.py

  * Minor enhancements in url parsing.
    Type: feature
    Changed: linkcheck/url.py

  * Sort according to preference when checking MX hosts so that
    preferred MX hosts get checked first.
    Type: bugfix
    Changed: linkcheck/checker/mailtourl.py

  * If mail VRFY command fails, print a warning message.
    Type: feature
    Changed: linkcheck/checker/mailtourl.py

2.0 "I Kina spiser de hunde" (released 7.12.2004)

  * Regenerate the HTML parser with new Bison version 1.875d.
    Also use the now supported Bison memory macros YYMALLOC and
    YYFREE.
    Type: feature
    Changed: linkcheck/HtmlParser/htmlparse.y

  * Updated installation and usage documentation.
    Type: documentation
    Changed: doc/install.txt, doc/index.txt

  * Added comment() method to loggers for printing comments.
    Type: feature
    Changed: linkcheck/logger/*.py

  * Updated and translated manpages. French translation from
    Yann Verley. German translation from me ;)
    Type: documentation
    Added: doc/de/linkchecker.de.1, doc/fr/linkchecker.fr.1
    Changed: doc/en/linkchecker.1

  * Fix mailto: URL norming by splitting the query type correctly.
    Type: bugfix
    Changed: linkcheck/url.py

  * Encode all output strings for display.
    Type: bugfix
    Changed: linkchecker

  * Accept -o option logger type as case independent string.
    Type: feature
    Changed: linkchecker

  * Internal Unicode handling fixed.
    Type: bugfix
    Changed: linkcheck/url.py, linkcheck/checker/*.py

  * Use correct FTP directory list parsing.
    Type: bugfix
    Changed: linkcheck/checker/ftpurl.py

2.0rc2 "El d?a de la bestia" (released 20.11.2004)

  * encode version string for --version output
    Type: bugfix
    Closes: SF bug #1067915
    Changed: linkchecker

  * Added shell config note with --home install option.
    Type: documentation
    Closes: SF bug #1067919
    Changed: doc/install.txt

  * Recheck robots.txt allowance and intern/extern filters for
    redirected URLs.
    Type: bugfix
    Closes: SF bug #1067914
    Changed: linkcheck/checker/httpurl.py

  * Updated the warning and info messages to be always complete
    sentences.
    Type: feature
    Changed: linkcheck/checker/*.py, po/*, linkcheck/ftests/*.py,
      linkcheck/ftests/data/*.result

  * Added missing script_dir to the windows installer script.
    Use python.exe instead of pythonw.exe and --interactive option to
    call linkcheck script.
    Add Documentation link to the programs group.
    Type: bugfix
    Changed: install-linkchecker.py

2.0rc1 "The Incredibles" (released 16.11.2004)

  * Only instantiate SSL connections if SSL is supported
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * Close all opened log files.
    Type: bugfix
    Changed: linkcheck/logger/*.py

  * All loggers have now an output encoding. Valid encodings are listed
    in http://docs.python.org/lib/node127.html. The default encoding is
    "iso-8859-15".
    Type: feature
    Changed: linkcheck/logger/*.py

  * The --output and --file-output parameters can specify the encoding
    now. The documentation has been updated with this change.
    Type: feature
    Changed: linkchecker, linkchecker.1

  * The encoding can also be specified in the linkcheckerrc config file.
    Type: feature
    Changed: config/linkcheckerrc

  * All leading directories of a given output log file are created
    automatically now. Errors creating these directories or opening
    the log file for writing abort the checking and print a usage mesage.
    Type: feature
    Changed: linkchecker, linkcheck/logger/__init__.py

  * Coerce url names to unicode
    Type: feature
    Changed: linkcheck/checker/__init__.py

  * Accept unicode filenames for resolver config
    Type: feature
    Changed: linkcheck/dns/resolver.py

  * LinkChecker accepts now Unicode domain names and converts them
    according to RFC 3490 (http://www.faqs.org/rfcs/rfc3490.html).
    Type: feature
    Changed: linkcheck/dns/resolver.py, linkcheck/url.py

  * Exceptions in the log systems are no more caught.
    Type: feature
    Changed: linkcheck/ansicolor.py

  * Remember a <base href=""> tag in the link parser. Saves one HTML
    parse.
    Type: feature
    Changed: linkcheck/checker/urlbase.py, linkcheck/linkparse.py

  * Optimize link name parsing of img alt tags.
    Type: feature
    Changed: linkcheck/linkname.py

  * Remove all references to the old 'colored' output logger.
    Type: documentation
    Closes: SF bug #1062011
    Changed: linkchecker.1

  * Synchronized the linkchecker documentation and the man page.
    Type: documentation
    Closes: SF bug #1062034
    Changed: linkchecker, linkchecker.1

  * Make --quiet an alias for -o none.
    Type: bugfix
    Closes: SF bug #1063144
    Changed: linkchecker, linkcheck/configuration.py,
      linkcheck/checker/consumer.py

  * Re-norm a changed file:// base url, avoiding a spurious warning.
    Type: bugfix
    Changed: linkcheck/checker/fileurl.py

  * Wrong case of file links on Windows platforms now issue a
    warning.
    Type: feature
    Closes: SF bug #1062007
    Changed: linkcheck/checker/fileurl.py

  * Updated the french translation. Thanks to Yann Verley.
    Type: feature
    Changed: po/fr.po

1.13.5 "Die Musterknaben" (released 22.9.2004)
  * Use xgettext with Python support for .pot file creation, adjusted
    developer documentation.
    Type: feature
    Changed: doc/install.txt, po/Makefile, MANIFEST.in
    Removed: po/pygettext.py, po/msgfmt.py

  * Use plural gettext form for log messages.
    Type: feature
    Changed: linkcheck/logger/{text,html}.py

  * Check if FTP file really exists instead of only the parent dir.
    Type: bugfix
    Changed: linkcheck/checker/ftpurl.py

  * Document the different logger output types.
    Type: documentation
    Changed: linkchecker, linkchecker.1

  * Recursion into FTP directories and parseable files has been
    implemented.
    Type: feature
    Changed: linkcheck/checker/ftpurl.py

1.13.4 "Shaun of the dead" (released 17.9.2004)
  * Catch HTTP cookie errors and add a warning.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * fix up response page object in robots.txt parser for the upcoming
    Python 2.4 release
    Type: bugfix
    Changed: linkcheck/robotparser2.py

  * remove cached urls from progress queue, fixing endless wait for
    checking to finish
    Type: bugfix
    Changed: linkcheck/checker/consumer.py

  * updated and synchronized documentation of the man page (linkchecker.1)
    and the linkchecker --help output.
    Type: documentation
    Changed: linkchecker, linkchecker.1

1.13.3 "Fight Club" (released 10.9.2004)
  * Prevent collapsing of relative parent dir paths. This fixes false
    positives on URLs of the form "../../foo".
    Closes: SF bug #1025459
    Changed: linkcheck/url.py, linkcheck/tests/test_url.py

1.13.2 "Zat?ichi" (released 8.9.2004)
  * Fix permissions of data files on install to be world readable.
    Type: bugfix
    Closes: SF bug #1022132
    Changed: setup.py

  * Fixed the SQL logger when encountering empty URLs.
    Type: bugfix
    Closes: SF bug #1022156
    Changed: linkcheck/logger/sql.py

  * Added notes about access rules for CGI scripts
    Type: documentation
    Changed: doc/install.txt

  * Updated french translation. Thanks, Yann Verley!
    Type: feature
    Changed: po/fr.po

  * initialize i18n at program start
    Type: bugfix
    Changed: linkchecker, linkcheck/lc_cgi.py

  * Make initialization function for i18n, and allow LOCPATH to override
    the locale directory.
    Type: feature
    Changed: linkcheck/__init__.py

  * Removed debug print statement when issueing linkchecker --help.
    Type: bugfix
    Changed: linkchecker

  * Reset to default ANSI color scheme, we don't know what background
    color the terminal has.
    Type: bugfix
    Closes: SF bug #1022158
    Changed: linkcheck/configuration.py

  * Reinit the logger object when config files change values.
    Type: bugfix
    Changed: linkcheck/configuration.py

  * Only import ifconfig routines on POSIX systems.
    Type: bugfix
    Closes: SF bug #1024607
    Changed: linkcheck/dns/resolver.py

1.13.1 "Old men in new cars" (released 3.9.2004)
  * Fixed RPM generation by adding the generated config file to the
    installed files list.
    Type: bugfix
    Changed: setup.py

  * Mention to remove old versions when upgrading in the documentation.
    Type: documentation
    Changed: doc/upgrading.txt, doc/install.txt

  * Fix typo in redirection cache handling.
    Type: bugfix
    Changed: linkcheck/checker/cache.py

  * The -F file output must honor verbose/quiet configuration.
    Type: bugfix
    Changed: linkcheck/checker/consumer.py

  * Generate all translation files under windows systems.
    Type: bugfix
    Changed: po/Makefile

  * Added windows binary installer script and configuration.
    Type: feature
    Changed: setup.py, setup.cfg, doc/install.txt
    Added: install-linkchecker.py

  * Do not raise an error when user and/or password of ftp URLs is not
    specified.
    Type: bugfix
    Changed: linkcheck/checker/ftpurl.py

  * honor anchor part of cache url key, handle the recursion check
    with an extra cache key
    Type: bugfix
    Changed: linkcheck/checker/{urlbase,cache,fileurl}.py

  * Support URL lists in text files with one URL per line. Empty lines
    or comment lines starting with '#' are ignored.
    Type: feature
    Changed: linkcheck/checker/fileurl.py

  * Added new option --extern-strict to specify strict extern url
    patterns.
    Type: feature
    Changed: linkchecker

  * Strip quotes from parsed CSS urls.
    Type: bugfix
    Changed: linkcheck/checker/urlbase.py

1.13.0 "The Butterfly Effect" (released 1.9.2004)
  * lots of internal code restructuring
    Type: code cleanup
    Changed: a lot

  * If checking revealed errors (or warnings with --warnings),
    the command line client exits with a non-zero exit status.
    Type: feature
    Closes: SF bug 1013191
    Changed: linkchecker, linkcheck/checker/consumer.py

  * Specify the HTML doctype and charset in HTML output.
    Type: feature
    Closes: SF bug 1014283
    Changed: linkcheck/logger/html.py

  * Fix endless loop on broken urls with non-empty anchor.
    Type: bugfix
    Changed: linkcheck/checker/httpurl.py

  * For news: or nntp: urls, entries in ~/.netrc are now ignored.
    You should give instead username/password info in the configuration
    file or on the command line.
    Type: bugfix
    Changed: linkcheck/checker/nntpurl.py

  * The HTML output shows now HTML and CSS validation links for
    the parent URL of invalid links.
    Type: feature
    Changed: linkcheck/logger/html.py

  * The status is now printed as default, it can be supressed with
    the new --no-status option.
    Type: feature
    Changed: linkchecker

  * The default recursion level is now infinite.
    Type: feature
    Changed: linkchecker

  * The 'outside of domain filter' is no more a warning but an informational
    message. A warning is inappropriate since the user is in full control
    over what links are extern or intern.
    Type: feature
    Closes: SF bug 1013206
    Changed: linkcheck/urlbase.py

  * Renamed the --strict option to --extern-strict-all.
    Type: feature
    Changed: linkchecker

  * a new cache and queueing algorithm makes sure that no URL is
    checked twice.
    Type: feature
    Changed: linkcheck/checker/cache.py

  * the given user/password authententication is now also used to
    get robots.txt files.
    Type: feature
    Changed: linkcheck/robotparser2.py, linkcheck/checker/cache.py

1.12.3 "The Princess Bride" (released 27.5.2004)
  * fall back to GET on bad status line of a HEAD request
    Type: bugfix
    Changed: linkcheck/HttpUrlData.py

  * really fall back to GET with Zope servers; fixes infinite loop
    Type: bugfix
    Changed: linkcheck/HttpUrlData.py

  * better error msg on BadStatusLine error
    Type: feature
    Changed: linkcheck/UrlData.py

  * updated optcomplete to newest upstream
    Type: feature
    Changed: linkcheck/optcomplete.py

  * also quote query parts of urls
    Type: bugfix
    Changed: linkcheck/{HttpUrlData, url}.py

  * - preserve the order in which HTML attributes have been parsed
    - cope with trailing space in HTML comments
    Type: feature
    Changed: linkcheck/parser/{__init__.py,htmllex.l}
    Added: linkcheck/containers.py

  * rework anchor fallback
    Type: bugfix
    Changed: linkcheck/HttpUrlData.py

  * move contentAllowsRobot check to end of recursion check to avoid
    unnecessary GET request
    Type: bugfix
    Changed: linkcheck/UrlData.py

1.12.2 (release 4.4.2004)
  * use XmlUtils instead of xmlify for XML quoting
    Type: code cleanup
    Added: linkcheck/XmlUtils.py
    Changed: linkcheck/StringUtil.py, linkcheck/log/XMLLogger.py

  * don't require a value anymore with the --version option
    Type: bugfix
    Changed: linkchecker

  * before putting url data objects in the queue, check if they have
    correct syntax and are not already cached
    Type: optimization
    Changed: linkcheck/{UrlData,Config}.py

  * every once in a while, remove all already cached urls from the
    incoming queue. This action is reported when --status is given.
    Type: optimization
    Changed: linkcheck/Config.py

  * both changes above result in significant performance improvements
    when checking large websites, since a majority of the links tend
    to be navigation links to already-cached pages.
    Type: note

  * updated examples and put them before options in the man page for
    easier reading
    Type: documentation
    Changed: linkchecker, linkchecker.1

  * added contact url and email to the HTTP User-Agent string, which
    gets us more accepted by some bot-blocking software; also see
    http://www.livejournal.com/bots/
    Type: feature
    Changed: linkcheck/Config.py

  * only check robots.txt for http connections
    Type: bugfix
    Changed: linkcheck/{Http,}UrlData.py
    Closes: SF bug 928895

  * updated regression tests
    Type: feature
    Changed: test/test_*.py, Makefile
    Added: test/run.sh

  * preserve the order in which HTML attributes have been parsed
    Type: feature
    Changed: linkcheck/parser/{__init__.py,htmllex.l}

  * handle and correct missing start quotes in HTML attributes
    Type: feature
    Changed: linkcheck/parser/htmllex.l

  * full parsing of .css files
    Type: feature
    Changed: linkcheck/{Http,}UrlData.py, linkcheck/linkparse.py

  * removed Gilman news draft
    Type: feature
    Removed: draft-gilman-news-url-00.txt


1.12.1 (release 21.2.2004)
  * raise IncompleteRead instead of ValueError on malformed chunked
    HTTP data
    Changed: linkcheck/httplib2.py
  * catch errors earlier in recursion check
    Changed: linkcheck/UrlData.py
  * quote url and parent url in log output
    Changed: linkcheck/log/*.py
    Added: linkcheck/url.py

1.12.0 (release 31.1.2004)
  * added LRU.setdefault function
    Changed: linkcheck/LRU.py
    Closes: SF bug 885916
  * Added Mac OS X as supported platform (version 10.3 is known to work)
    Changed: README, INSTALL
  * HTML parser objects are now subclassable and collectable by the cyclic
    garbage collector
    Changed: linkcheck/parser/htmlparse.y
  * made some minor parser fixes for attribute scanning and JavaScript
    Changed: linkcheck/parser/htmllex.l
  * include the optcomplete module for bash autocompletion
    Added: linkcheck/optcomplete.py, linkcheck-completion
    Changed: MANIFEST.in, setup.py
  * print out nicer error message for unknown host names
    Changed: linkcheck/UrlData.py
  * added new logger type "none" printing out nothing which is handy for
    cron scripts.
    Changed: linkchecker, linkcheck/Config.py, linkcheck/log/__init__.py
    Added: linkcheck/log/NoneLogger.py
  * the -F file output option disables console output now
    Changed: linkchecker
  * added an example cron script
    Added: linkcheck-cron.sh
    Changed: MANIFEST.in, setup.py
  * only warn about missing anchor support servers when the url has
    actually an anchor
    Changed: linkcheck/HttpUrlData.py
  * always fall back to HTTP GET request when HEAD gave an error to
    cope with servers not supporting HEAD requests
    Changed: linkcheck/HttpUrlData.py, FAQ

1.10.3 (release 10.1.2004)
  * use the optparser module for command line parsing
    Changed: linkchecker, po/*.po
  * use Set() instead of hashmap
    Changed: linkcheck/Config.py
  * fix mime-type checking to allow parsing of .css stylesheets
    Changed: linkcheck/HttpUrlData.py
  * honor HTML meta tags for robots, ie.
    <meta name="ROBOTS" content="NOFOLLOW">
    Changed: linkcheck/UrlData.py, linkcheck/linkparse.py
  * much less aggressive thread acquiring, this fixes the 100% CPU
    usage from the previous version
    Changed: linkcheck/Threader.py

1.10.2 (release 3.1.2004)
  * fixed CGI safe_url pattern, it was too strict
    Changed: linkcheck/lc_cgi.py
  * replace backticks with repr() or %r
    Changed: all .py files containing backticks, and po/*.po
  * make windows DNS nameserver parsing more robust
    Changed: linkcheck/DNS/Base.py
    Closes: SF bugs 863227,864383
  * only cache used data, not the whole url object
    Changed: linkcheck/{Http,}UrlData.py
  * limit cached data
    Changed: linkcheck/{UrlData,Config}.py
    Added: linkcheck/LRU.py
    Closes: SF bug 864516
  * use dummy_threading module and get rid of the _NoThreads
    functions
    Changed: linkchecker, linkcheck/{Config,Threader}.py,
      test/test_*.py
  * set default connection timeout to 60 seconds
    Changed: linkcheck/__init__.py
  * new option --status print regular messages about number of
    checked urls and urls still to check
    Changed: linkchecker, linkcheck/{__init__,Config}.py

1.10.1 (release 19.12.2003)
  * added Mandrake .spec file from Chris Green <cmg@dok.org>
    Added: linkchecker.spec
    Changed: MANIFEST.in
  * print last-modified date for http and https links in infos
    Changed: linkcheck/HttpUrlData.py
  * add detailed installation instructions for Windows
    Changed: INSTALL
    Closes: SF bug 857748
  * updated the DNS nameserver config parse routines
    Changed: linkcheck/DNS/Base.py
    Added: linkcheck/DNS/winreg.py
    Removed: linkcheck/DNS/win32dns.py
  * fix https support test
    Changed: linkcheck/HttpUrlData.py

1.10.0 (released 7.12.2003)
  * catch httplib errors in robotparser
    Changed: linkcheck/robotparser2.py
    Closes: SF bug 836864
  * - infinite recursion option with negative value works now
    - initialize self.urlparts to avoid crash when reading cached http
      urls
    - with --strict option do not add any automatic filters if the user
      gave his own on the command line
    Changed: linkcheck/UrlData.py

1.9.5 (released 31.10.2003)
  * Add Zope to servers with broken HEAD support, adjusted the FAQ
    Changed: linkcheck/HttpUrlData.py, FAQ
    Closes: SF bug 833419
  * Disable psyco usage, it is causing infinite loops (this is a known
    issue with psyco); and it is disabling ctrl-c interrupts (this
    is also a known issue in psyco)
    Changed: linkchecker
  * use internal debug logger
    Changed: linkcheck/robotparser2.py
  * do not hardcode Accept-Encoding header in HTTP request
    Added: linkcheck/httplib2.py
    Changed: linkcheck/robotparser2.py

1.9.4 (released 22.10.2003)
  * parse CSS stylesheet files and check included urls, for example
    background images
    Changed: linkcheck/{File,Http,Ftp,}UrlData.py, linkcheck/linkparser.py
  * try to use psyco for the commandline linkchecker script
    Changed: linkchecker
  * when decompression of compressed HTML pages fails, assume the page
    is not compressed
    Changed: linkcheck/{robotparser2,HttpUrlData}.py

1.9.3 (released 16.10.2003)
  * re-added an updated robot parser which uses urllib2 and can decode
    compressed transfer encodings.
    Added: linkcheck/robotparser2.py
  * more restrictive url validity checking when running in CGI mode
    Changed: linkcheck/lc_cgi.py
  * accept more Windows path specifications, like
    file://C:\Dokume~1\test.html
    Changed: linkcheck/FileUrlData.py

1.9.2
  * parser fixes:
    - do not #include <stdint.h>, fixes build on some FreeBSD, Windows
      and Solaris/SunOS platforms
    - ignore first leading invalid backslash in a=\"b\" attributes
    Changed: linkcheck/parser/htmllex.{l,c}
  * add full script path to linkchecker on windows systems
    Changed: linkchecker.bat
  * fix generation of Linkchecker_Readme.txt under windows systems
    Changed: setup.py

1.9.1
  * add documentation how to change the default C compiler
    Changed: INSTALL
  * fixed blacklist logging
    Changed: linkcheck/log/BlacklistLogger.py
  * removed unused imports
    Changed: linkcheck/*.py
  * parser fixes:
    - fixed parsing of end tags with trailing garbage
    - fixed parsing of script single comment lines
    Changed: linkcheck/parser/htmllex.l

1.9.0
  * Require Python 2.3
    - removed timeoutsocket.py and robotparser.py, using upstream
    - use True/False for boolean values
    - use csv module
    - use new-style classes
    Closes: SF bug 784977
    Changed: a lot
  * update po makefiles and tools
    Changed po/*
  * start CGI output immediately
    Changed: lc.cgi, lc.fcgi, lc.sz_fcgi, linkcheck/lc_cgi.py
    Closes: SF bug 784331

1.8.22
  * allow colons in HTML attribute names, used for namespaces
    Changed: linkcheck/parser/htmllex.l
  * fix match of intern patterns with --denyallow enabled
    Changed: linkcheck/UrlData.py
  * s/intern/internal/ and s/extern/external/ in the documentation
    Changed: linkchecker, linkchecker.1, FAQ
  * rename column "column" to "col" in SQL output, since "column" is
    a reserved keyword. Thanks Garvin Hicking for the hint.
    Changed: linkcheck/log/SQLLogger.py, create.sql
  * handle HTTP redirects to a non-http url
    Changed: linkcheck/{Http,}UrlData.py
    Closes: SF bug 784372

1.8.21
  * detect recursive redirections; the maximum of five redirections is
    still there though
  * after every HTTP 301 or 302 redirection, check the URL cache again
    Closes: SF bug 776851
  * put all HTTP 301 redirection answers also in the url cache as
    aliases of the original url. this could mess up some redirection
    warnings (ie warn about redirection when there is none), but it is
    more network efficient.

1.8.20
  * fix setting of domain in set_intern_url
    Changed: linkcheck/UrlData.py
  * - parse JS strings and comments
    - accept "<!- " as comment begin
    Changed: linkcheck/parser/htmlex.l
    Closes: SF bug 768661
  * quote url before submitting the request, the previous map() call
    was useless. Thanks Toby Dickenson for the patch.
    Changed: linkcheck/HttpUrlData.py
    Closes: SF bug 776416

1.8.19
  * add scheme colon in set_intern_url
    Changed: linkcheck/UrlData.py
  * fix threading option -t
    Changed: linkchecker, linkcheck/Config.py
  * do not try to get content of urls that have no content (eg mail)
    Closes: SF bug 765016
    Changed: linkcheck/{Mailto,Nntp,Telnet,}UrlData.py
  * added robots.txt FAQ, updated links
    Removed: norobots-rfc.html
    Changed: FAQ, WONTDO, TODO
  * add iso-8859-1 coding line to all .py files
    Changed: *.py
  * Correctly quote the HTML output
    Changed: linkcheck/log/HtmlLogger.py

1.8.18
  * fix option error messages for invalid integer arguments
    Changed files: linkchecker
  * enable infinite recursion with a negative -r value
    Changed files: linkcheck/{UrlData,Config}.py, linkchecker,
      linkchecker.1
  * if -s is given, add some link patterns to urls given on the
    command line automatically:
    for local files, add -i "^file:". For http and ftp urls, add
    the domain name -i "<domain>".
    Changed files: linkcheck/UrlData.py, linkchecker

1.8.17
  * fix parsing of missing end tag in "</a <a b=c>"
    Changed files: linkcheck/parser/htmllex.l
  * fix entity resolving in parsed html links
    Closes: SF bug #749543
    Changed files: linkcheck/StringUtil.py

1.8.16
  * also look at id attributes on anchor check
    (Closes SF Bug #741131)
    Changed files: linkcheck/{linkparser,UrlData}.py
  * minor parser cleanups
    Changed files: linkcheck/parser/*

1.8.15
  * Fix compile errors with C variable declarations in HTML parser.
    Thanks to Fazal Majid <fazal@majid.fm>
    Changed files: linkcheck/parser/htmlparse.[yc]

1.8.14
  * fix old bug in redirects not using the full url. This resulted in
    errors like (-2, "Name or service not known")
    Changed files: linkcheck/HttpUrlData.py
    Closes: SF Bug #729007
  * only remove anchors on IIS servers (other servers are doing quite
    well with anchors... can you spell A-p-a-c-h-e ?)
    Changed files: linkcheck/{HttpUrlData, UrlData}.py
  * Parser changes:
    - correctly propagate and display parsing errors
    - really cope with missing ">" end tags
    Changed files: linkcheck/parser/html{lex.l, parse.y},
      linkcheck/linkparse.py, linkcheck/UrlData.py
  * quote urls before a request
    Changed files: linkcheck/HttpUrlData.py

1.8.13
  * fix typo in manpage
    Changed files: linkchecker.1
  * remove anchor from HEAD and GET requests
    Changed files: linkcheck/{HttpUrlData, UrlData}.py

1.8.12
  * convert urlparts to list also on redirect
    Changed files: linkcheck/HttpUrlData.py

1.8.11
  * catch httplib.error exceptions
    Changed files: linkcheck/HttpUrlData.py
  * override interactive password question in robotparser.py
    Changed files: linkcheck/robotparser.py
  * switch to urllib2.py as default url connect.
    Changed files: linkcheck/UrlData.py
  * recompile html parser with flex 2.5.31
    Changed files: linkcheck/parser/{htmllex.c,Makefile}

1.8.10
  * new option --no-anchor-caching
    Changed files: linkchecker, linkcheck/{Config.py, UrlData.py}, FAQ
  * quote empty attribute arguments
    Changed files: linkcheck/parser/htmllex.[lc]

1.8.9
  * recompile with bison 1.875a
    Changed files: linkcheck/parser/htmlparse.[ch]
  * remove stpcpy declaration, fixes compile error on RedHat 7.x
    Changed files: linkcheck/parser/htmlsax.h
  * clarify keyboard interrupt warning to wait for active connections
    to finish
    Changed files: linkcheck/__init__.py
  * resolve &#XXX; number entity references
    Changed files: linkcheck/{StringUtil.py,linkname.py}

1.8.8
  * All amazon servers block HEAD requests with timeouts. Use GET as
    a workaround, but issue a warning.
    Changed files: linkcheck/HttpUrlData.py
  * restrict CGI access to localhost per default
    Changed files: lc.cgi, lc.fcgi, lc.sz_fcgi, linkcheck/lc_cgi.py

1.8.7
  * #define YY_NO_UNISTD_H on Windows systems, fixes build error with
    Visual Studio compiler
    Changed files: setup.py
  * use python2.2 headers for parser compile, not 2.1.
    Changed files: linkcheck/parser/Makefile

1.8.6
  * include a fixed robotparser.py (from Python 2.2 CVS maint branch)

1.8.5
  * fix config.warn to warn
    Changed files: linkcheck/__init.py
  * parser changes:
    o recognise "<! -- -->" HTML comments (seen at Eonline)
    o recognise "<! !>" HTML comments (seen at www.nba.com)
    o rebuild with flex 2.5.27
    Changed files: linkcheck/parser/htmllex.[lc]
  * added another url exclusion example to the FAQ
    numerate questions and answers
    Changed files: FAQ
  * fix linkchecker exceptions
    Changed files: linkcheck/{Ftp,Mailto,Nntp,Telnet,}UrlData.py,
      linkcheck/__init__.py

1.8.4
  * Improve error message for failing htmlsax module import
    Changed files: linkcheck/parser/htmllib.py
  * Regenerate parser with new bison 1.875
    Changed files: linkcheck/parser/htmlparser.c
  * Some CVS files were not the same as their local counterpart.
    Something went wrong. Anyway, I re-committed them.
    Changed files: a lot .py files
 
1.8.3
  * add missing imports for StringUtil in log classes, defer i18n of log
    field names (used for CGI scripts)
    Changed files: linkcheck/log/*.py
  * fixed wrong debug level comparison from > to >=
    Changed files: linkcheck/Config.py
  * JavaScript checks in the CGI scripts
    Changed files: lconline/lc_cgi.html.*
    Added files: lconline/check.js
  * Updated documentation with a link restriction example
    Changed files: linkchecker, linkchecker.1, FAQ
  * Updated po/pygettext.py to version 1.5, cleaned up some gettext
    usages.
  * updated i18n
    Added files: linkcheck/i18n.py
    Changed files: all .py files using i18n
  * Recognise "<! --" HTML comments
    Changed files: linkcheck/parser/htmllex.l
  * -a anchor option implies -w because anchor errors are always warnings
    Changed files: linkchecker
  * added AnsiColors.py and debug.py to split out some functions
    Changed files: a lot .py files using these things
  * use yy_size_t for parser alloc definitions, fixes build errors on 64bit
    architectures
    Changed files: linkcheck/parser/htmllex.l

1.8.2
  * - ignore invalid html attribute characters
    - ignore trailing garbage on html end tags
    - fixed debugging code with flex
    - use flex memory management interface
    - use only double quotes for attribute quoting
    - check quoting of all attributes
    Changed files: linkcheck/parser/htmllex.l
  * build parser with flex 2.5.25
    Changed files: linkcheck/parser/{Makefile, htmllex.c}
  * put shared code of cgi scripts in lc_cgi.py
    Changed files: lc.cgi, lc.fcgi, lc.sz_fcgi, linkcheck/lc_cgi.py
  * put some linebreaks and target="top" into HTML output
    Changed files: linkcheck/logging/HtmlLogger.py
  * add translated cgi files
    Changed files: setup.py, MANIFEST.in, debian/rules
    Added files: lconline/*.{de,en}
    Removed files: lconline/{leer.html,lc_cgi.html}

1.8.1
  * Add missing () to function call in proxy handling code
    Changed files: FtpUrlData.py
  * Use urlparse.url(un)split instead of urlparse.url(un)parse
    Changed files: FtpUrlData.py, UrlData.py, HttpUrlData.py,
      FileUrlData.py
  * Print size information if its available
    Changed files: FtpUrlData.py, UrlData.py, HttpUrlData.py
  * Add --warning-size-bytes option to print warning if content size
    exceeds the given byte limit
    Changed files: FtpUrlData.py, HttpUrlData.py, linkchecker, Config.py,
      linkchecker.1
  * Updated translations
    Changed files: po/linkchecker.pot, po/*.po
  * Parse supported file types for ftp links
    Changed files: FtpUrlData.py, FileUrlData.py, UrlData.py

1.8.0
  * Require Python >= 2.2.1, remove httplib.
    Changed files: setup.py, INSTALL, linkchecker
  * Add again python-dns, the Debian package maintainer is unresponsive
    Added files: linkcheck/DNS/*.py
    Changed files: INSTALL, setup.py
  * You must now use named constants for ANSII color codes
    Changed files: linkcheckerrc, linkcheck/log/ColoredLogger.py
  * Release RedHat 8.0 rpm packages.
    Changed files: setup.py, MANIFEST.in
  * remove --robots-txt from manpage, fix HTZP->HTTP typo
    Changed files: linkchecker.1

1.7.1
  * Fix memory leak in HTML parser flushing error path
    Changed files: htmlparse.y
  * add custom line and column tracking in parser
    Changed files: htmllex.l, htmlparse.y, htmlsax.h, htmllib.py
  * Use column tracking in urldata classes
    Changed files: UrlData.py, FileUrlData,py, FtpUrlData.py,
     HostCheckingUrlData.py
  * Use column tracking in logger classes
    Changed files: StandardLogger.py CVSLogger.py, ColoredLogger.py,
      HtmlLogger.py, SqlLogger.py

1.7.0
  * Added new HTML parser written in C as a Python extension module.
    It is faster and it is more fault tolerant.
    Of course, this means I cannot provide .exe installers any more
    since the distutils dont provide cross-compilation.

1.6.7
  * Removed check for <applet> tags codebase attribute, but honor it
    when checking applet links
  * Handle <applet> tags archive attribute as a comma separated list
    Closes: SF bug #636802
  * Fix a nasty bug in tag searching, which ignored tags with more
    than one link attribute in it.
  * Fix concatenation with relative base urls by first joining the
    parent url.
  * New commandline option --profile to write profile data.
  * Add httplib.py from Python CVS 2.1 maintenance branch, which has the
    skip_host keyword argument I am using now.

1.6.6
  * Use the new HTTPConnection/HTTPResponse interface of httplib
    Closes: SF bug #634679
    Changed files: linkcheck/HTTPUrlData.py, linkcheck/HTTPSUrlData.py
  * Updated the ftp online test
    Changed files: test/output/test_ftp

1.6.5
  * Catch the maximum recursion limit error while parsing links and
    print an error message instead of bailing out.
    Changed files: linkcheck/UrlData.py
  * Fixed Ctrl-C only interrupting one single thread, not the whole
    program.
    Changed files: linkcheck/UrlData.py, linkcheck/__init__.py
  * HTML syntax cleanup and relative cgi form url for the cgi scripts
    Changed files: lconline/*.html

1.6.4
  * Support for ftp proxies
    Changed files: linkcheck/FtpUrlData.py, linkcheck/HttpUrlData.py
    Added files: linkcheck/ProxyUrlData.py
  * Updated german translation

1.6.3:
  * Generate md5sum checksums for distributed files
    Changed files: Makefile
  * use "startswith" string method instead of a regex
    Changed files: linkchecker, linkcheck/UrlData.py
  * Add a note about supported languages, updated the documentation.
    Changed files: README, linkchecker, FAQ
  * Remove --robots-txt option from documentation, it is per default
    enabled and you cannot disable it from the command line.
    Changed files: linkchecker, po/*.po
  * fix --extern argument creation
    Changed files: linkchecker, linkcheck/UrlData.py
  * Print help if PyDNS module is not installed
    Changed files: linkcheck/UrlData.py
  * Print information if a proxy was used.
    Changed files: linkcheck/HttpUrlData.py
  * Updated german documentation
    Changed files: po/de.po
  * Oops, an FTP proxy is not used. Will make it in the next release.
    Changed files: linkcheck/FtpUrlData.py
  * Default socket timeout is now 30 seconds (10 was too short)

1.6.2:
  * Warn about unknown Content-Encodings. Dont parse HTML in this case.
  * Support deflate content encoding (snatched from Debians reportbug)
  * Add appropriate Accept-Encoding header to HTTP request.
  * Updated german translations

1.6.1:
  * FileUrlData.py: remove searching for links in text files, this is
    error prone. Just handle *.html and Opera Bookmarks.
  * Make separate ChangeLog from debian/changelog. For previous
    changes, see debian/changelog.
  * Default socket timeout is now 10 seconds
  * updated linkcheck/timeoutsocket.py to newest version
  * updated README and INSTALL
  * s/User-agent/User-Agent/, use same case as other browsers
