-------------
Released on July 12, 2014.
- Root :class:`~libearth.session.MergeableDocumentElement`\ s'
:meth:`~libearth.session.MergeableDocumentElement.__merge_entities__()`
methods are not ignored anymore. Respnosibilty to merge two documents is
now moved from :meth:`Session.merge() <libearth.session.Session.merge>`
method to :meth:`MergeableDocumentElement.__merge_entities__()
<libearth.session.MergeableDocumentElement.__merge_entities__>` method.
- :func:`~libearth.crawler.crawl()` now return a set of
:class:`~libearth.crawler.CrawlResult` objects instead of :class:`tuple`\ s.
- ``feeds`` parameter of :func:`~libearth.crawler.crawl()` function was
renamed to ``feed_urls``.
- Added ``feed_uri`` parameter and corresponding :attr:`feed_uri
<libearth.crawler.CrawlError.feed_uri>` attribute to
:class:`~libearth.crawler.CrawlError` exception.
- Timeout option was added to crawler.
- Added optional ``timeout`` parameter to :func:`~libearth.crawler.crawl()`.
- Added optional ``timeout`` parameter to
:func:`~libearth.crawler.get_feed()`.
- Added :const:`~libearth.crawler.DEFAULT_TIMEOUT` constant which is
10 seconds.
- Added :attr:`LinkList.favicon <libearth.feed.LinkList.favicon>` property.
[:issue:`49`]
- :attr:`Link.relation <libearth.feed.Link.relation>` attribute which had
been optional now becomes required
- :meth:`AutoDiscovery.find_feed_url()
<libearth.parser.autodiscovery.AutoDiscovery.find_feed_url>` method (that
returned feed links) was gone. Instead :meth:`AutoDiscovery.find()
<libearth.parser.autodiscovery.AutoDiscovery.find>` method (that returns
a pair of feed links and favicon links) was introduced.
[:issue:`49`]
- :attr:`Subscription.icon_uri <libearth.subscribe.Subscription.icon_uri>`
attribute was introduced. [:issue:`49`]
- Added an optional ``icon_uri`` parameter to :meth:`SubscriptionSet.subscribe()
<libearth.subscribe.SubscriptionSet.subscribe>` method. [:issue:`49`]
- Added :func:`~libearth.parser.util.normalize_xml_encoding()`
function to workaround :mod:`xml.etree.ElementTree` module's
`encoding detection bug`__. [:issue:`41`]
- Added :func:`~libearth.tz.guess_tzinfo_by_locale()` function. [:issue:`41`]
- Added ``microseconds`` option to :class:`~libearth.codecs.Rfc822` codec.
- Fixed incorrect merge of subscription/category deletion.
- Subscriptions are now archived rather than deleted.
- :class:`~libearth.subscribe.Outline` (which is a common superclass of
:class:`~libearth.subscribe.Subscription` and
:class:`~libearth.subscribe.Category`) now has
:attr:`~libearth.subscribe.Outline.deleted_at` attribute and
:attr:`~libearth.subscribe.Outline.deleted` property.
- Fixed several :mod:`~libearth.parser.rss2` parser bugs.
- Now the parser accepts several malformed ``<pubDate>`` and
``<lastBuildDate>`` elements.
- It become to guess the time zone according to its ``<language>`` and
the ccTLD (if applicable) when the date time doesn't give any explicit
time zone (which is also malformed). [:issue:`41`]
- It had ignored ``<category>`` elements other than the last one, now it
become to accept as many as there are.
- It had ignored ``<comments>`` links at all, now these become to be
parsed to :class:`~libearth.feed.Link` objects with
``relation='discussion'``.
- Some RSS 2 feeds put a URI into ``<generator>``, so the parser now
treat it as :attr:`~libearth.feed.Generator.uri` rather than
:attr:`~libearth.feed.Generator.value` for such situation.
- ``<enclosure>`` links had been parsed as :class:`~libearth.feed.Link`
object *without* :attr:`~libearth.feed.Link.relation` attribute,
but it becomes to properly set the attribute to ``'enclosure'``.
- Mixed ``<link>`` elements with Atom namespace also becomes to be
parsed well.
- Fixed several :mod:`~libearth.parser.atom` parser bugs.
- Now it accepts obsolete PURL Atom namespace.
- Since some broken Atom feeds (e.g. Naver Blog) provide date time as
:rfc:`822` format which is incorrect according to :rfc:`4287section-3.3`
(section 3.3), the parser becomes to accept :rfc:`822` format as well.
- Some broken Atom feeds (e.g. Naver Blog) use ``<modified>`` which is
not standard instead of ``<updated>`` which is standard, so the parser
now treats ``<modified>`` equivalent to ``<updated>``.
- ``<content>`` and ``<summary>`` can has :mimetype:`text/plain` and
:mimetype:`text/html` in addition to ``text`` and ``html``.
- ``<author>``/``<contributor>`` becomes ignored if it hasn't any of
``<name>``, ``<uri>``, or ``<email>``.
- Fixed a parser bug that hadn't interpret omission of
:attr:`link[rel] <libearth.feed.Link.relation>` attribute
as ``'alternate'``.
- Fixed the parser to work well even if there's any file separator characters
(FS, ``'\x1c'``).
__ http://bugs.python.org/issue13612