<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Libeccio</title>
<description>A feed parsing library</description>
<link>https://dacav.org/projects/libeccio</link>
<item>
<title>Libeccio 0.9.0</title>
<link>https://dacav.org/projects/libeccio/releases/0.9.0</link>
<guid isPermaLink="false">libeccio/0.9.0</guid><description><![CDATA[First release]]></description>
<content:encoded><![CDATA[<p>First release</p>
]]></content:encoded>
</item>
<item>
<title>Libeccio 1.0.0</title>
<link>https://dacav.org/projects/libeccio/releases/1.0.0</link>
<guid isPermaLink="false">libeccio/1.0.0</guid><description><![CDATA[Improved parser configuration and error reporting

   Retired eccio_parser_set_feedname() in favour of a more generic
   configuration function for the parser: eccio_parser_setopt().

   eccio_parser_setopt(..., ECCIO_OPT_FEEDNAME, ...) replaces
   eccio_parser_set_feedname.

   eccio_parser_setopt(..., ECCIO_OPT_ERRCALLBACK, ...) allows to
   define an error handling callback.

Allow parsing of FILE* and string, besides Unix file descriptor

   Current load methods:
   eccio_parser_load_fd(EccioParser *ep, int fd)
   eccio_parser_load_file(EccioParser *ep, FILE *fh)
   eccio_parser_load_string(EccioParser *ep, const char *str)

Fix buggy content extraction: <![CDATA[]]]]><![CDATA[>, &-encoded content, etc.

   The <description> tag of RSS should be text, but it is often containing a
   CDATA tag, to simplify escaping or to allow it to contain HTML.

   The <content> tag of ATOM might contain complex data, such as: plain text,
   with no markup (the default); escaped HTML; well-formed XHTML markup; some
   other XML vocabulary; base64-encoded binary content; a pointer to Web
   content not included in the feed.

   Version 0.9.0 could not retrieve anything more convoluted than escaped
   HTML. Libeccio 1.0.0 overcomes such limitation.

Add missing ATOM fields

   Additional fields that were missing have been added.

   The ATOM specification is quite complex, so the support is not
   complete yet.

Quality improvements as shared libraries

   Using hidden visibility and __attribute__((visibility("default")))
   on public API calls.

Licensing as ICS

More testing, bug fixes, and general improvements

   Drop pkg-config support (it was broken, removed until fixed).
   Switch to std=c11
   Build system improvements
   Miscellaneous]]></description>
<content:encoded><![CDATA[<p>Improved parser configuration and error reporting</p>
<p>Retired eccio_parser_set_feedname() in favour of a more generic
configuration function for the parser: eccio_parser_setopt().</p>
<p>eccio_parser_setopt(..., ECCIO_OPT_FEEDNAME, ...) replaces
eccio_parser_set_feedname.</p>
<p>eccio_parser_setopt(..., ECCIO_OPT_ERRCALLBACK, ...) allows to
define an error handling callback.</p>
<p>Allow parsing of FILE* and string, besides Unix file descriptor</p>
<p>Current load methods:
eccio_parser_load_fd(EccioParser *ep, int fd)
eccio_parser_load_file(EccioParser *ep, FILE *fh)
eccio_parser_load_string(EccioParser *ep, const char *str)</p>
<p>Fix buggy content extraction: <!-- raw HTML omitted -->, &amp;-encoded content, etc.</p>
<p>The <!-- raw HTML omitted --> tag of RSS should be text, but it is often containing a
CDATA tag, to simplify escaping or to allow it to contain HTML.</p>
<p>The <!-- raw HTML omitted --> tag of ATOM might contain complex data, such as: plain text,
with no markup (the default); escaped HTML; well-formed XHTML markup; some
other XML vocabulary; base64-encoded binary content; a pointer to Web
content not included in the feed.</p>
<p>Version 0.9.0 could not retrieve anything more convoluted than escaped
HTML. Libeccio 1.0.0 overcomes such limitation.</p>
<p>Add missing ATOM fields</p>
<p>Additional fields that were missing have been added.</p>
<p>The ATOM specification is quite complex, so the support is not
complete yet.</p>
<p>Quality improvements as shared libraries</p>
<p>Using hidden visibility and <strong>attribute</strong>((visibility(&quot;default&quot;)))
on public API calls.</p>
<p>Licensing as ICS</p>
<p>More testing, bug fixes, and general improvements</p>
<p>Drop pkg-config support (it was broken, removed until fixed).
Switch to std=c11
Build system improvements
Miscellaneous</p>
]]></content:encoded>
</item>
<item>
<title>Libeccio 1.1.0</title>
<link>https://dacav.org/projects/libeccio/releases/1.1.0</link>
<guid isPermaLink="false">libeccio/1.1.0</guid><description><![CDATA[Add support for <content:encoded> (RSS)

   See https://www.rssboard.org/rss-profile#namespace-elements-content

   This namespace is recommended by best practices, and can be commonly found
   in the wild.  The content of the <content:encoded>, if available, is
   going to be used to populate EccioEntry::content. The old <description>
   element is used as a fallback.

Complete missing fields

   A few fields of EccioEntry were not properly populated in Atom.  This
   problem has been fixed.]]></description>
<content:encoded><![CDATA[<p>Add support for <a href="content:encoded">content:encoded</a> (RSS)</p>
<p>See https://www.rssboard.org/rss-profile#namespace-elements-content</p>
<p>This namespace is recommended by best practices, and can be commonly found
in the wild.  The content of the <a href="content:encoded">content:encoded</a>, if available, is
going to be used to populate EccioEntry::content. The old <!-- raw HTML omitted -->
element is used as a fallback.</p>
<p>Complete missing fields</p>
<p>A few fields of EccioEntry were not properly populated in Atom.  This
problem has been fixed.</p>
]]></content:encoded>
</item>
<item>
<title>Libeccio 1.1.1</title>
<link>https://dacav.org/projects/libeccio/releases/1.1.1</link>
<guid isPermaLink="false">libeccio/1.1.1</guid><description><![CDATA[Fix buggy behaviour for feeds using CDATA extensively]]></description>
<content:encoded><![CDATA[<p>Fix buggy behaviour for feeds using CDATA extensively</p>
]]></content:encoded>
</item>
</channel>
</rss>
