Version History
===============

cognition/0.1-alpha1 :-

* initial release
* metadata: <meta>, <link>, <title>, @role, eRDF
* eRDF does not support rdf:type syntax
* RFC 2731 is supported for namespaces
* microformats: hcard, hcalendar, adr, geo
	- hcalendar support assumes page is one giant calendar
	- no support for rel-tag, so no support for categories in hcard or
	  hcalendar
	- geo support includes body, altitiude and reference-frame extensions           
	- microformats patterns: include-pattern, abbr-pattern, extensions
		+ include-pattern supports my alternative syntax
		+ abbr-pattern supports Andy Mabbett's alternative
* RDF output of namespaced metadata


cognition/0.1-alpha2 :-

* drop usage of XML::XPath module, using XML::DOM instead
	- might use XML::DOM::XPath in future if XPath support is needed
* support XML namespaces used as metadata namespaces.
* microformats: hcalendar (complete), rel-tag, rel-license, figure, xoxo
	- rel-licence extended to support searches for 'license' in CC or
	  DCTERMS namespaces; or 'rights.license' in DC or DCTERMS namespaces
	- experimental figure microformat based on current brainstorming
* parse document structure (headings + semantic tables + semantic
  images/figures microformat? + xoxo lists)


cognition/0.1-alpha2.1 :-

* Fix handling for entities.
* Fix delay on LWP::RobotUA.


cognition/0.1-alpha3 :-

* Switch from XML::DOM to XML::LibXML. Should be my last big parser change!
* Restructure object to be more tuple-like.
* URLs:
	- Support for CURIEs.
	- support for geo: and tag: URIs
	- use XPointer to provide URLs for document fragments without identifiers
* RDF:
	- use <rdf:Bag> to wrap multiple tuples with the same subject and property
	- Remove duplicate values within bags
	- add support for microformats to RDF output
	- RDF subjects may have multiple URIs defined to help match up properties
	  that actually belong to the same subject (e.g. some properties might be
	  attached to a fragment identifier, and others to an hcard, but if we
	  know that the hcard root element has an id attribute which matches the
	  fragment identifier, then we can equate the subjects)
	- support "vocabularies" for RDF
	- convert document structure to RDF <http://purl.org/dc/terms/hasPart>,
	  <http://purl.org/dc/terms/isPartOf>.
* Improve STRINGIFY to prevent all these leading and trailing spaces
* Recognise (X)HTML predefined link types and put them in XHTML namespace.
* More reliable support for namespaces.
* Microformats:
	- Properly parse DateTimes found in microformats.
	- support table cell header pattern
	- support hcalendar 1.1 draft
* Complete support for RDFa
* Much improved support for eRDF, support rdf:type. Any bugs?
* Improved support for XHTML role attribute


cognition/0.1-alpha4 :-

* Support rel=meta: retrieve additional document metadata, parse as RDF
* GRDDL:
	- Beginnings of GRDDL support.
	- Support for rel=transformation linking to XSLT to transform doc to RDF
	- Support for grddl:transformation="" style transformations.
	- No support for <head profile> yet.
* Microformats:
	- Table cell header pattern has been changed on wiki. Implement changes.
	- Better microformat nesting handling.
* Improvements in charset handling and support for tag-soup HTML.
* Comment out pre-RDFa <link rel>, <a rel> support. It's not really useful.
* Disable eRDF by default as it seems to generate too many false positives.


cognition/0.1-alpha5 :-

* Various minor improvements to hCard and hCalendar parsing.
* Export framework
	- Add vCard export option.
		+ Parses data: URIs and outputs as base64 embedded data.
		+ Pulls in data from full gamut of supported semantics, so that, say,
		  RDFa FOAF data may end up as part of the vCard output.
		+ Test input: <http://examples.tobyinkster.co.uk/hcard>.
	- Add KML export option.
		+ Data can come from hCard, (e)RDF(a) vCard, (e)RDF(a) GeoRSS, etc.
* Re-enabled eRDF by default, but eRDF parsing is now stricter. It *requires*
  a profile of <http://purl.org/NET/erdf/profile> to be found on the <head>
  element.
* Improved command-line client. Use GetOpt::Long, Pod::Usage.
* Support RDF embedded in HTML <!-- comments -->. (Trackback uses this.)


future work???

* output datatypes (e.g. <http://www.w3.org/2001/XMLSchema#date>) in RDF
  (they're already parsed -- just not output)
* microformats: hatom, hreview?

