Releases: earthreader/libearth
Releases · earthreader/libearth
libearth 0.3.3
libearth 0.3.2
- Fixed a bug that
SubscriptionLists havingOutlines without theircreated_atattribute failed to be merged on Python 3. [#65] - Fixed a bug that a
DocumentElementin streamed read mode is not properly marked as complete even when it's completed bycomplete()function in some cases.
libearth 0.3.1
- Fixed two backward compatibility breakages:
- A bug that subcategory changes hadn't been detected when
SubscriptionLists are merged. - A bug that all children outlines become wiped when a category is deleted.
- A bug that subcategory changes hadn't been detected when
libearth 0.3.0
- Root
MergeableDocumentElements'MergeableDocumentElement.__merge_entities__()methods are not ignored anymore. Respnosibilty to merge two documents is now moved fromSession.merge()method to__merge_entities__()method. crawl()now return a set ofCrawlResultobjects instead oftuples.feedsparameter ofcrawl()function was renamed tofeed_urls.- Added
feed_uriparameter and correspondingfeed_uriattribute toCrawlErrorexception. - Timeout option was added to crawler.
- Added optional
timeoutparameter tocrawl(). - Added optional
timeoutparameter toget_feed(). - Added
DEFAULT_TIMEOUTconstant which is 10 seconds.
- Added optional
- Added
LinkList.faviconproperty. [#49] Link.relationattribute which had been optional now becomes requiredAutoDiscovery.find_feed_url()method (that returned feed links) was gone. InsteadAutoDiscovery.find()method (that returns a pair of feed links and favicon links) was introduced. [#49]Subscription.icon_uriattribute was introduced. [#49]- Added an optional
icon_uriparameter toSubscriptionSet.subscribe()method. [#49] - Added
normalize_xml_encoding()function to workaroundxml.etree.ElementTreemodule's encoding detection bug. [#41] - Added
guess_tzinfo_by_locale()function. [#41] - Added
microsecondsoption toRfc822codec. - Fixed incorrect merge of subscription/category deletion.
- Subscriptions are now archived rather than deleted.
Outline(which is a common superclass ofSubscriptionandCategory) now hasdeleted_atattribute anddeletedproperty.
- Fixed several
rss2parser 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). [#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 toLinkobjects withrelation='discussion'. - Some RSS 2 feeds put a URI into
<generator>, so the parser now treat it asurirather thanvaluefor such situation. <enclosure>links had been parsed asLinkobject withoutrelationattribute, but it becomes to properly set the attribute to'enclosure'.- Mixed
<link>elements with Atom namespace also becomes to be parsed well.
- Now the parser accepts several malformed
- Fixed several
atomparser 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 4287 (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 hastext/plainandtext/htmlin addition totextandhtml.<author>/<contributor>becomes ignored if it hasn't any of<name>,<uri>, or<email>.- Fixed a parser bug that hadn't interpret omission of
link[rel]attribute as'alternate'.
- Fixed the parser to work well even if there's any file separator characters (FS,
'\x1c').
libearth 0.2.1
- Fixed
rss2parsing error when any empty element occurs. - Fixed a bug that
validate()function errored when any subelement hasTextdescriptor.
libearth 0.2.0
- Session files in
.sessions/directory become to be touched
only once at a transaction. [#43] - Added
SubscriptionSet.contains()method which provides
recursively=Trueoption. It's useful for determining that
a subcategory or subscription is in the whole tree. Attribute.defaultoption becomes to accept only callable objects. Below 0.2.0,
defaultis not a function but a value which is simply used as it is.libearth.parser.heuristicmodule is gone; andget_format()
function in the module is moved tolibearth.parser.autodiscovery
module:get_format().- Added
Link.htmlproperty. - Added
LinkList.permalinkproperty. - Fixed a
FileSystemRepositorybug that conflicts
reading buffer and emits broken mixed bytes when there are simultaneous
readings and writings to the same key. - Fixed broken functions related to repository urls on Windows.
- Fixed
libearth.compat.parallel.cpu_count()function not to
raiseNotImplementedErrorin some cases. - Fixed
Rfc822to properly work also on non-English locales e.g.ko_KR.
libearth 0.1.2
- XML elements in data files are written in canonical order. For example,
<title>element of the feed was at the back before, but now is in front. - Fixed a bug that
libearth.parser.autodiscoveryraises
AttributeErrorwhen the given HTML contains<link>to
bothapplication/atom+xmlandapplication/rss+xml.
[#40] - Fill
<title>to<description>if there's no<title>
(libearth.parser.rss2). - Fill
<id>to the feed URL if there's no<id>
(libearth.parser.atom).
libearth 0.1.1
- Added a workaround for thread unsafety
time.strftime()on CPython.
See http://bugs.python.org/issue7980 as well. [#32] - Fixed
UnicodeDecodeErrorwhich is raised when a feed title contains
any non-ASCII characters. [#34 by @euphoris] - Now
libearth.parser.rss2fillsEntry.updated_atif it's not given. [#35] - Fixed
TypeErrorwhich is raised when any
DocumentElementwithmultiple
Childelements is passed to
validate()function. - Fixed the race condition of two
FileSystemRepositoryobjects creating
the same directory. [#36 by @klutzy] parallel_map()becomes to raise exceptions
at the last, if any errored. [#38]
libearth 0.1.0
Initial alpha version.