2010-01-30  Dave Beckett <dave@dajobe.org>

	* Snapshotted raptor_1_4_21 for 1.4.21 release

2010-01-29  Dave Beckett <dave@dajobe.org>

	* INSTALL.html, LICENSE.html, NEWS.html, README.html,
	RELEASE.html, TODO.html: 1.4.21 and 2010 years

	* RELEASE.html: 1.4.21

	* src/raptor_serialize_turtle.c: Ensure serialized Turtle names
	are legal

	(raptor_turtle_is_legal_turtle_qname): Added to enforce prefix and
	local name character constraints.

	(raptor_turtle_emit_resource): Use above to ensure that XML Qnames
	that are not legal Turtle Qnames are never serialized.

	Fixes Issue#0000337 http://bugs.librdf.org/mantis/view.php?id=337

	* tests/turtle/Makefile.am, tests/turtle/test-34-out.ttl,
	tests/turtle/test-34.ttl: Add Turtle serializing test 34 for not
	serializing a qname with a .

	Test for Issue#0000337 http://bugs.librdf.org/mantis/view.php?id=337

	* docs/raptor-docs.xml: 2010

	* docs/libraptor.3: 1.4.21

	* src/raptor_general.c: 2010

2010-01-28  Dave Beckett <dave@dajobe.org>

	* RELEASE.html: 1.4.21

	* src/raptor_rdfxml.c: Create a new set for checking for duplicate
	rdf:ID at start of every parse.

	(raptor_rdfxml_parse_init): Remove creating set from when parser
	is constructed.

	(raptor_rdfxml_parse_start): At start of parsing, delete any
	existing id set and only create a new one if the feature
	RAPTOR_FEATURE_CHECK_RDF_ID is enabled.

	Fixes Issue#0000332 http://bugs.librdf.org/mantis/view.php?id=332

	* src/turtle_lexer.l: Alter Turtle lexer to refuse to accept . in
	namespace prefix/local names

	Adjust Turtle lexer to match spec for the prefixName and name tokens:
	http://www.w3.org/TeamSubmission/2008/SUBM-turtle-20080114/#prefixName
	http://www.w3.org/TeamSubmission/2008/SUBM-turtle-20080114/#name

	This makes some previously accepted not-to-spec turtle documents
	be rejected.

	It makes new bad turtle syntax tests bad-21 and bad-22 pass.

	(NCNAME_PREFIX): Updated for prefixName

	(NCNAME): Update for name

	Fixes Issue#0000326 http://bugs.librdf.org/mantis/view.php?id=326

	* tests/turtle/Makefile.am, tests/turtle/bad-21.ttl,
	tests/turtle/bad-22.ttl: Add bad turtle tests 21, 22 for . in
	prefix and qname

	* src/ntriples_parse.c: Make ntriples parser accept text/plain
	with q=0.1

	(raptor_ntriples_parser_register_factory): Register mime type
	text/plain via raptor_parser_factory_add_mime_type.
	Fixes Issue#0000319 http://bugs.librdf.org/mantis/view.php?id=319

	* src/turtle_lexer.l: Make Turtle lexer handle \\ at end of
	triple-quoted literals

	Alter literal regex and let
	raptor_stringbuffer_append_turtle_string() report problems with
	buffer ending in middle of \u and \U.

	Add rule for bare \ on it's own which can only happen if input
	ends on a \.

	Fixes Issue#0000318 http://bugs.librdf.org/mantis/view.php?id=318

	* tests/turtle/Makefile.am, tests/turtle/bad-20.ttl: Add
	bad-20.ttl test for end of file in middle of \ escape

	* tests/turtle/Makefile.am, tests/turtle/test-33.out,
	tests/turtle/test-33.ttl: Added test-33 for \\ at end of
	triple-quoted turtle literal Added tests/turtle/test-33.ttl and
	tests/turtle/test-33.out files to test Issue#0000318
	http://bugs.librdf.org/mantis/view.php?id=318

	* librdfa/iri.c: Update to librdfa GIT commit
	1979d7246a1d98f95bab78704a32b87cf95d1ef6

	* .gitignore, Makefile.am, configure.ac: Use build dir for
	automake aux files.

	* build/.gitignore: Ignore build files

	* .gitignore, autogen.sh, configure.ac, tests/.gitignore: Update
	build environment to latest autogen.sh - enable silent rules for
	maintainer

	* tests/rdfxml/ex-38-rdfxmla.out, tests/turtle/ex-38-turtle.out:
	Restore to GIT raptor1 branch expected output files
	tests/rdfxml/ex-38-rdfxmla.out tests/turtle/ex-38-turtle.out

	* librdfa/curie.c, librdfa/iri.c, librdfa/rdfa.c, librdfa/rdfa.h,
	librdfa/triple.c: Merge librdfa changes to GIT
	88ca099befcb1b81be1a879663e5e891707e5239

	Fixes several buffer alloc/realloc problems and failure to terminate
	strings when using them with strstr().

	Other librdfa changes:
	- added "first" to list of allowed reserved words.  
	- allow @rel/@rev reserved word values to be in any case (TC 134) 
	- librdfa now treats the following characters as valid whitespace
	  characters: SPACE, \t, \n, \v, \f, and \r. (TC 131) 
	- fix generation of xml:lang if language was already in XML
	  Literal (TC 102)

	* src/turtle_lexer.l:
	Make Turtle long literals count raw newlines correctly

	(Rule <LITERAL>\" ....): Count the raw newlines seen in the yytext
	to adjust the line numbers correctly for long literals.  

	Fixes Issue#0000331 http://bugs.librdf.org/mantis/view.php?id=331

2010-01-03  Dave Beckett <dave@dajobe.org>

	* src/win32_raptor_config.h: Restore windows version numbers to
	1.4.21 for raptor1 series

	* configure.ac:
	Restore soname for raptor1 series

2010-01-02  Dave Beckett <dave@dajobe.org>

	* NEWS.html, RELEASE.html, configure.ac:
	Make raptor1 branch for	raptor1 series - 1.4.21 potentially

	* src/fix-bison: Remove RCS ID

	* docs/tmpl/.gitignore: Update another .gitignore

	* .gitignore, docs/.gitignore, docs/tmpl/.gitignore,
	src/.gitignore, tests/.gitignore, tests/feeds/.gitignore,
	tests/turtle/.gitignore, utils/.gitignore:
	Add .gitignore to replace SVN properties svn:ignore

	* Switched to GIT for version control.
	SVN r15728 is GIT d6c9b7e7084671b77db75beb303b7f35308a9942
	
2009-11-29  Dave Beckett <dave@dajobe.org>

	* ChangeLog, NEWS.html, RELEASE.html, librdfa/rdfa.c:
	Merge from raptor 1.4.20 release SVNr15728 to trunk

2009-11-28  Dave Beckett <dave@dajobe.org>

	* Merge RDFa changes from Raptor branch raptor1 (r15719)

	* Snapshotted raptor_1_4_20 for 1.4.20 release (SVN 15727)
	
	* tests/rdfa/0172.out, tests/rdfa/0172.xhtml, tests/rdfa/0173.out,
	tests/rdfa/0173.xhtml, tests/rdfa/0174.out, tests/rdfa/0174.xhtml,
	tests/rdfa/Makefile.am:
	Added unapproved RDFa tests from librdfa upstream test suite:
	 0172: empty datatype attribute
	 0173: empty xml:lang attribute on plain literal
	 0174: single character namespace prefixes

	0172 and 0173 test
	Issue#0000306 http://bugs.librdf.org/mantis/view.php?id=306

	0174 tests
	Issue#0000310 http://bugs.librdf.org/mantis/view.php?id=310

	* librdfa/rdfa.c:
	(start_element): For raptor, turn a NULL language to "" which is
	what librdfa expects.

	* librdfa/curie.c, librdfa/language.c, librdfa/rdfa.c,
	librdfa/triple.c:
	Apply librdfa GIT commits up to
	5823cb8bffe50fb1b46960f237f7274388cb5f93

	commit 5823cb8bffe50fb1b46960f237f7274388cb5f93
	    Fixed @property CURIE processing unit tests to match code
	    updates.

	commit a85d8e9e2e3d28452ad03d1ca64fdd98eed1c180
	    Fixed CURIE processing bug for TC 174.

	    The bug caused single-character prefixed CURIEs to be processed
	    incorrectly. Also fixed @property processing to not use reserved
	    words specified in a very early version of the RDFa spec. Fixed
	    a small bug related to processing CURIEs that have ':' as the
	    second character in the URI string.

	commit f384b28bf916a2e0c7a7dbc99101a1a44c301965
	    Fixed plain literal bug uncovered by TC 172.

	    This bug caused plain literals to not be generated when
	    datatype="" was specified and when the content inside the element
	    contained XHTML child nodes.

	* librdfa/language.c:
	Apply librdfa GIT commit
	9960791ee4beca8e52e5d3a9766aba73d33f0063
	    Fixed bug that caused unreviewed TC 173 to partially fail.

	    The currently active language, specified via xml:lang, was not
	    being cleared when xml:lang="" was specified.

	Related to Redland Issue#0000306
	http://bugs.librdf.org/mantis/view.php?id=306

2009-11-25  Dave Beckett <dave@dajobe.org>

	* librdfa/rdfa.c, src/raptor_abbrev.c: Casts for C++

2009-11-25  Lauri Aalto <laalto@iki.fi>

	* src/raptor_abbrev.c:
	(raptor_abbrev_subject_lookup): Free node if
	raptor_new_abbrev_subject() ownership transfer did not succeed.

	* src/raptor_abbrev.c:
	(raptor_abbrev_subject_find): Check for failures.

	* src/raptor_serialize_turtle.c:
	(raptor_turtle_emit): Free iterators on before returning an error.

	* src/raptor_abbrev.c, src/raptor_avltree.c:
	(raptor_avltree_sprout): Always take ownership of passed in node
	data - free it if malloc fails. Make sure free_fn is not null
	before calling it.

	(raptor_abbrev_node_lookup,raptor_abbrev_subject_add_property):
	raptor_avltree_add() now always takes ownership of added nodes.

	* src/raptor_internal.h, src/raptor_serialize_rdfxmla.c:
	fixed indent tabs -> spaces

	* src/raptor_abbrev.c:
	(raptor_abbrev_subject_invalidate): Return value expected

2009-11-24  Dave Beckett <dave@dajobe.org>

	* many files: Merge from raptor branch raptor1

2009-11-23  Dave Beckett <dave@dajobe.org>

	* src/raptor_abbrev.c, src/raptor_internal.h,
	src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c,
	tests/feeds/test01-result.ttl, tests/feeds/test02-result.ttl,
	tests/feeds/test03-result.ttl, tests/feeds/test04-result.ttl,
	tests/rdfxml/Makefile.am, tests/turtle/Makefile.am: Apply SVN
	r15690 to raptor head

2009-11-15  Dave Beckett <dave@dajobe.org>

	* utils/rdfdiff.c: Apply SVN 15667 to raptor trunk

2009-10-10  Dave Beckett <dave@dajobe.org>

	* src/raptor_grddl.c:
	(raptor_grddl_run_grddl_transform_uri): Fix XML parser context
	resource leak if raptor_grddl_fetch_uri fails.

	* src/raptor_grddl.c:
	(raptor_grddl_parse_chunk): Save and restore error handlers
	properly - restore loop was broken.  Remove memcpy for clarity in
	copying.

2009-08-25  Dave Beckett <dave@dajobe.org>

	* autogen.sh: Update common autogen.sh

2009-08-21  Lauri Aalto <laalto@iki.fi>

	* src/raptor_www.c:
	(raptor_www_set_http_cache_control): Avoid dangling pointers

2009-08-03  Lauri Aalto <laalto@iki.fi>

	* src/raptor_internal.h: Fixed comment

2009-07-27  Dave Beckett <dave@dajobe.org>
	* src/turtle_parser.y
	(main): Terminate parser

<<<<<<< .working
	* configure.ac: For trunk raptor 1.9.x series update libtool
	version to 4:0:0 which bumps the soname.
=======
	* src/turtle_parser.y
	(main): Terminate parser

	* src/turtle_lexer.l
	(main): Init world and namespaces so turtle lexing test does not
	die.
>>>>>>> .merge-right.r15728

	* src/raptor_parse.c
	(raptor_parse_file): Simplify, no need for O_LARGEFILES flag and
	open/fdopen sequence.

	* configure.ac:
	Check for fcntl.h and AC_SYS_LARGEFILE to get large file checks

	* src/raptor_parse.c:
	(raptor_parse_file): Use open(2) and apply O_LARGEFILE option to
	allow 32bit systems to read multi-gigabyte files.

2009-07-23  Dave Beckett <dave@dajobe.org>

	* Changelog entries above this are on BRANCH raptor1

	* Create raptor 1 branch (SVN r15287)

2009-07-19  Dave Beckett <dave@dajobe.org>

	* Tagged for raptor 1.4.19 (SVN r15280)

	* Snapshotted raptor_1_4_19 for 1.4.19 release (SVN 15279)

	* src/raptor_serialize_rss.c:
	(raptor_rss10_emit_item): Handle C++'s picky casting between enum
	types - that are really integers - to ints.

	* src/raptor_rss_common.c: static data raptor_rss_fields_info:
	semantic data errors found by C++'s more strict aliasing.
	- Fix author item class.
	- Set URI flag value for atom:schema and atom:href

	* src/raptor_namespace.c:
	(raptor_namespaces_init_v2, raptor_namespace_stack_to_array):
	Casts for C++ in returns from RAPTOR_CALLOC for namespace stacks

	* src/raptor_grddl.c:
	(raptor_grddl_run_grddl_transform_doc): Cast for C++ for arg to
	xsltSetCtxtSecurityPrefs.

	* src/raptor_rfc2396.c:
	(raptor_uri_resolve_uri_reference): Use memmove for overlapping
	copy, not memcpy. [valgrind]

	* src/raptor_serialize_json.c: raptor_json_context - use
	raptor_statement_v2 for last statement.
	(raptor_json_serialize_avltree_visit): Make V1 statements for the
	stored V2 statements.
	Improve fatal error messages.

	* src/raptor_statement.c:
	(raptor_free_statement): Restore actually freeing statement memory
	- resource leak.

	* configure.ac: libtool version change.
	was: current 2  revision 0  age 1
	rules steps:
	   3. source code changed: revision++ = 3
	   4. interfaces added and changed: current++ = 3, revision = 0
	   5. interfaces added: age++ = 2
	   6. interfaces removed: no
	now: current 3  revision  0  age 2

	* docs/libraptor.3: 1.4.19 changes

2009-07-17  Dave Beckett <dave@dajobe.org>

	* src/raptor_turtle_writer.c:
	(raptor_turtle_writer_literal): More silly games to prevent stupid
	gcc warning: ignoring return value of 'strtol', declared with
	attribute warn_unused_result so use the value and then discard it
	in a stupid expression.  Ditto strtod.

	* src/raptor_uri.c:
	(raptor_uri_print_v2): Silly games to prevent stupid gcc warning:
	ignoring return value of 'fwrite', declared with attribute
	warn_unused_result but right now there is nowhere to return the
	error too.

	* src/raptor_rss.c:
	(raptor_rss_uplift_fields): Comment out variables used only in
	debugging.

	* src/raptor_turtle_writer.c:
	(raptor_turtle_writer_literal): Ignore unused return values from
	strtol and strtod used for checking.

	* utils/rapper.c: Revert r15252 and reapply r14951 on rapper to
	use experimental V2 APIs again

	* configure.ac, src/Makefile.am, src/raptor_internal.h,
	src/raptor_v2.h: Remove raptor_v2.h again - no need to dup this
	for an internal build.  Instead use -DRAPTOR_V2_EXPERIMENTAL when
	building

	* src/Makefile.am, src/raptor.h, src/raptor_internal.h,
	src/raptor_v2.h: Added raptor_v2.h again - internal only and put
	scary warning about V2 things into raptor.h

	* src/raptor.h: use -DRAPTOR_V2_EXPERIMENTAL to enable the V2
	structs and functions

	* src/Makefile.am: Remove raptor_v2.h - bad idea for now

	* src/Makefile.am, src/raptor.h, src/raptor_internal.h,
	src/raptor_v2.h: Move public V2 structs and prototypes to internal
	raptor_v2.h

	* utils/rapper.c: Revert r14951 on rapper to use V1 APIs only for now

	* COPYING, COPYING.LIB: Add specific versions of GPL (2) and
	LGPL (2.1) to source control

2009-07-16  Dave Beckett <dave@dajobe.org>

	* docs/raptor-docs.xml, docs/raptor-sections.txt,
	docs/tmpl/section-general.sgml, docs/tmpl/section-parser.sgml,
	docs/tmpl/section-serializer.sgml, docs/tmpl/section-world.sgml:
	Add new functions.  Add section world for init/cleanup and V2
	world stuff

	* src/raptor.h, src/raptor_grddl.c, src/raptor_sequence.c:
	(raptor_new_sequence_v2): Renamed from
	raptor_new_sequence_with_handler_context

	* tests/rdfxml: Ignore automake outputs

	* tests/ntriples: Ignore automake outputs

	* tests/feeds: Ignore ttl outputs

	* tests/feeds/Makefile.am: (check-serialize-atom): Make test use
	generated file from build dir.

	* utils/rapper.c: calloc another feature_value

	* tests/feeds/Makefile.am: set result=1 on failures

	* utils/rapper.c: calloc feature_value so that fields are
	initialised to 0/NULL

	* Raptor passes 'make check' test suite as of SVN r15234

	* src/raptor_serialize_rss.c: Guess whether <atom:summary> on
	input is xml or not based on if it starts with <

	* tests/feeds/test02-result.atom, tests/feeds/test02-result.ttl,
	tests/feeds/test02.rdf: Add <div>...</div> once to descs

	* tests/feeds/test02.rdf: use <div>...</div> in descriptions

	* tests/feeds/test03-result.atom: fix relative atom:link @href in
	expected output

	* src/raptor_serialize_rss.c:
	(raptor_rss10_emit_atom_feed): Output relative URIs for
	<atom:link @href>

	* src/raptor_serialize_rss.c: Extra/tidy debug messages

2009-07-15  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c:
	(raptor_rss10_serialize_statement, raptor_rss10_build_items): Use
	raptor_rss_item_set_uri to always assign item identifier and uri
	fields correctly.

	* src/raptor_rss.h, src/raptor_rss_common.c:
	(raptor_rss_item_set_uri): Added to set the item identifier fields
	plus the item->uri field correctly.

2009-07-13  Dave Beckett <dave@dajobe.org>

	* autogen.sh: Add SHAVE support - disabled by default and enabled
	for maintainers.
	libtool V2 needed
	Add -Wall to automake args
	Reorder args to remove dups
	Find config_aux_dir and config_macro_dir and use them for copying in
	config.{sub,guess} and adjusting aclocal args respectively.

2009-06-21  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c:
	(raptor_rss10_move_statements, raptor_rss10_store_statement): When
	mapping fields rss to atom, do not copy into a field that has a
	value already.

2009-06-13  Dave Beckett <dave@dajobe.org>

	* src/raptor_parse.c:
	(raptor_get_name): Use factory method if present.

	* src/raptor_guess.c:
	(raptor_guess_guess_get_name): Implement get_name by passing it on
	to internal guessed parser.
	(raptor_guess_parser_register_factory): Register get_name

	* src/raptor_internal.h: struct raptor_parser_factory_s gains
	get_name method

	* src/raptor_guess.c:
	(raptor_guess_parse_chunk): docs

	* src/raptor_grddl.c:
	(raptor_grddl_run_grddl_transform_doc): Init userCtxt *after*
	sheet is defined as not NULL.  GRDDL transforms now work again.

	* utils/rapper.c:
	(main): If counting, do not use a serializer at all.

2009-05-16  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c: autodocs

	* src/raptor_rss.c:
	(raptor_rss_insert_rss_link): Added to add rss:link from atom:id
	or <link rel=self>
	(raptor_rss_insert_identifiers): Call above for channel and items.

	* tests/feeds/test04-result.ttl: items and rss:links point to url
	not tag: uri

	* tests/feeds/test05-result.ttl: Moved dc:date to top

	* tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Added more atom:entrymap values

2009-05-12  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_insert_identifiers): Add an rss:link with
	/atom:link[@rel="self"]/@href string contents if not already
	present.

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Add resource parameter for the subject of
	the triples to set.  Do not try to play save/restore games with
	the statement.subject
	(raptor_rss_emit_item): Pass in item identifier to above.

2009-05-11  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_emit_item): Set the atom author output node type by a
	quick hack to alter the URIs.

2009-05-10  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c: raptor_rss_uplift_map merged into
	raptor_atom_to_rss
	(raptor_rss_copy_field): Added to do field copy/conversion with
	pair
	(raptor_rss_uplift_fields): Iterate over list of conversions and
	call raptor_rss_copy_field.

	* src/raptor_rss_common.c:
	(raptor_rss_field_conversion_date_uplift): Added for converting
	from junk date to ISO dates.
	(raptor_rss_date_uplift): Deleted, replaced by above.
	raptor_atom_to_rss: gains fields from raptor_rss_uplift_map and
	uses above conversion function to fix rss:pubdate to dc:date

	* src/raptor_rss.h: Add raptor_rss_field_conversion for converting
	field values and add to raptor_field_pair

	* tests/feeds/test05-result.ttl: Add dc:date, atom:id, atom:title
	fields

2009-05-09  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test04-result.ttl: add both rss and renamed atom
	fields rather than just one:
	- dc:date & atom:updated
	- rss:title & atom:title
	- atom:id
	- atom:summary

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Remove renaming of atom terms
	to rss
	(raptor_rss_uplift_fields): Add copying of atom to rss terms, not
	renaming.

	* src/raptor_rss_common.c: atom:author is a container, not a block
	raptor_rss_items_info - set value type to RAPTOR_RSS_ITEM_CONTAINER
	raptor_rss_fields_info - set class to RAPTOR_RSS_RDF_ATOM_AUTHOR_CLASS
	raptor_rss_block_fields_info - remove author from list of blocks

	* tests/feeds/test04.atom: Restore xhtml namespace to div

2009-05-01  Dave Beckett <dave@dajobe.org>

	* docs/tmpl/section-general.sgml: update tmpls

	* tests/turtle/Makefile.am, tests/turtle/test-32-out.ttl,
	tests/turtle/test-32.ttl: Added test-32 based on test for
	http://bugs.librdf.org/mantis/view.php?id=274

	* src/raptor_serialize_turtle.c:
	(raptor_turtle_emit_subject_collection_items): Notice when a new
	subject happens and reset property iterator.
	(raptor_turtle_emit_subject): Look for trees with 2 or more
	properties to be a potential collection.
	Fixes Issue#0000277 http://bugs.librdf.org/mantis/view.php?id=277

	* src/raptor_parse.c:
	(raptor_get_feature): Return raw parser int feature.
	Fixes Issue#0000288 http://bugs.librdf.org/mantis/view.php?id=288

	* src/raptor_feature.c: raptor_features_list use bit 16 to record
	that an int is not a boolean flag.  Should refactor these flags
	for Raptor V2 and alter the raptor_feature_value_type() return.

2009-04-30  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am: Add atom to turtle expected results to
	EXPECTED_TTLS

	* tests/turtle/Makefile.am: Add $(TURTLE_SERIALIZE_RDF_FILES) to dist

	* tests/turtle/Makefile.am: More fixes for make distcheck testing

	* tests/turtle/Makefile.am:
	(check-turtle-parse-ntriples, check-turtle-serialize-rdf): Get
	filenames from invoking Makefiles in nearby build-dirs not
	src-dirs, which won't have makefiles in 'make distcheck' mode

	* tests/ntriples/Makefile.am: Revert r15175

	* tests/ntriples/Makefile.am: Make print-nt-test-files work in
	'make distcheck' mode

	* src/raptor_sax2.c:
	(raptor_sax2_parse_chunk): Make undeclared entity not fatal in
	parsing - errors are still thrown by the error callback, but
	parsing continues.  Makes
	http://bugs.librdf.org/mantis/view.php?id=303 easier to deal with
	- primary data gets out when errors are present; when DTDs are not
	loaded.

	* src/raptor_libxml.c:
	(raptor_libxml_xmlStructuredErrorFunc): Hunt for error_handlers in
	parser context user data too.

	* src/raptor_sax2.c:
	(raptor_new_sax2): Save correct libxml error handlers

2009-04-24  Dave Beckett <dave@dajobe.org>

	* src/raptor.h: Revert raptor_error_handlers ABI change for now

2009-04-23  Dave Beckett <dave@dajobe.org>

	* src/raptor.h, src/raptor_general.c, src/raptor_internal.h,
	src/raptor_sax2.c: Protect calls to xmlSetStructuredErrorFunc()
	and xmlSetGenericErrorFunc() by libxml flags and if enabled, save
	and restore the previous values.  Added
	raptor_set_libxml_flags() (raptor V1) and
	raptor_world_set_libxml_flags() (raptor V2) to set these flags.
	Flags are defined in new enum raptor_libxml_flags.

	Fixes Issue#000299 http://bugs.librdf.org/mantis/view.php?id=299

	* docs/tmpl/section-feature.sgml, src/raptor.h,
	src/raptor_general.c, src/raptor_grddl.c, src/raptor_internal.h,
	src/raptor_parse.c: Use context-specific libslt security
	configuration to avoid calling 	xsltSetDefaultSecurityPrefs().

	Also allow user to set the policy for raptor globally with new API
	function raptor_set_libxslt_security_preferences() (and in Raptor V2
	with raptor_world_set_libxslt_security_preferences method on the
	world class)

	Fixes Isssue#0000296 http://bugs.librdf.org/mantis/view.php?id=296

2009-04-21  Dave Beckett <dave@dajobe.org>

	* src/raptor_libxml.c:
	(raptor_libxml_init, raptor_libxml_init_sax_error_handlers): Init
	per-context structured error handlers to go to
	raptor_libxml_xmlStructuredErrorFunc

	* configure.ac: Use RAPTOR_LDFLAGS for rest of internally linked
	libs for libm, curl, fetch, libxml, expat, libxslt, libinn (for
	parsedate)

	* configure.ac, raptor.pc.in, src/Makefile.am: Introduce
	RAPTOR_LDFLAGS to replace raw LIBS as the internal set of
	arguments to use in linking.

	* configure.ac, src/Makefile.am, utils/Makefile.am: Add
	--enable-debug configure option. use AM_CPPFLAGS for defines and
	include options Remove unused STANDARD_CFLAGS

2009-03-31  Lauri Aalto <laalto@iki.fi>

	* src/raptor_namespace.c:
	(raptor_new_namespaces_v2): Lowmem fix. Use calloc instead of
	malloc to have struct members initialized to zero in case
	raptor_namespaces_init_v2() fails and need to free a partially
	initialized nstack.

2009-03-30  Dave Beckett <dave@dajobe.org>

	* configure.ac, src/raptor_serialize_rss.c: Test for
	gettimeofday. (raptor_rss10_ensure_atom_feed_valid): Use condition
	to avoid calling it on windows that doesn't have it.  Patch from
	Lou Sakey 2008-07-31 to redland-dev

	* src/raptor_sax2.c:
	(raptor_sax2_finish): Call xmlCleanupParser() libxml call last to
	avoid an access violation on windows. Patch from Lou Sakey
	2008-07-31 to redland-dev.

	* src/raptor_general.c:
	(raptor_vsnprintf): Windows vsnprintf() portability patch from Lou
	Sakey.

2009-03-29  Dave Beckett <dave@dajobe.org>

	* configure.ac: Substitute ECHO

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Make namespaces seen in fields
	after any potential renames, so they will get declared later.
	(raptor_rss_end_element_handler): End any blocks in all cases -
	was not happening when there was no cdata.
	(raptor_rss_emit_block): Only emit block strings that are not
	NULL.
	(raptor_rss_emit_connection): Turn predicate ordinals into URIs
	since the RAPTOR_IDENTIFIER_TYPE_ORDINAL is deprecated (and turtle
	serialiser does not handle it).
	(raptor_rss_uplift_fields): Gain rss_parser arg and mark
	namespaces seen in renames.

	* src/raptor_rss_common.c: raptor_rss_fields_info - restore
	rss:link value to string. raptor_rss_block_fields_info - fix
	clashing offset for atom author name/email fields.

2009-03-28  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am, tests/feeds/test02-result.atom,
	tests/feeds/test04-result.ttl, tests/feeds/test04.atom,
	tests/feeds/test05-result.ttl, tests/feeds/test05.atom: Add test04
	and test05 atom parsing to turtle.  Update test suite to show
	errors better and use ECHO macros

	* tests/feeds/test0[123].rdf:: Rename test0[123].rss to .rdf

	* tests/turtle/Makefile.am: Use TURTLE_SERIALIZE_RDF_FILES so that
	ex-62.rdf gets used

	* tests/turtle/Makefile.am, tests/turtle/test-31-out.ttl,
	tests/turtle/test-31.ttl: Add tests for serializing rdf:_<n>
	properties back to themselves.

2009-03-23  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am: use conditionals to execute tests in
	sane order via FEED_TESTS var

	* tests/feeds/Makefile.am:
	(check-serialize-atom): Set parser/input base URI for test.

	* tests/feeds/Makefile.am: notes

	* tests/feeds/Makefile.am, tests/feeds/test01-result.ttl,
	tests/feeds/test02-result.ttl, tests/feeds/test03-result.ttl: Add
	parsing and serializing tests with intermediate turtle results to
	check

	* src/raptor.h, src/raptor_feature.c, src/raptor_internal.h,
	src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c,
	src/raptor_serialize_rss.c, src/raptor_turtle_writer.c,
	src/raptor_xml_writer.c: Renamed
	RAPTOR_FEATURE_ALIAS_DEFAULT_NAMESPACE to
	RAPTOR_FEATURE_PREFIX_ELEMENTS (prefixElements) and change
	meaning; it always declares prefix: and default namespace but this
	option flips whether it core vocab is in the prefixed or default
	namespace.

	* src/raptor_serialize_rss.c:
	(raptor_rss10_build_xml_names): Do not declare or start namespaces
	with NULL prefix; only the default namespace *may* do that.

2009-03-20  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test01-result.atom: fix namespaces

	* tests/feeds/test01-result.atom, tests/feeds/test02-result.atom,
	tests/feeds/test03-result.atom: Add namespaces back to all
	expected results

	* src/raptor_serialize_rss.c:
	(raptor_rss10_build_xml_names): Enable turning on/off namespaced
	elements based on feature_alias_default_namespace

2009-03-19  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am, tests/feeds/test01-result.atom,
	tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Remove -f aliasDefaultNamespace=0 from tests for now, to enable
	fixing of other things on their own

2009-03-17  Dave Beckett <dave@dajobe.org>

	* tests/feeds/Makefile.am: use $(srcdir) before expected

	* tests/feeds/Makefile.am: report failure diff the right way
	around: from expected to actual

2009-03-12  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Fix atom namespaces

	* tests/feeds/Makefile.am: Set aliasDefaultNamespace=0

	* tests/feeds/Makefile.am, tests/feeds/test01-result.atom,
	tests/feeds/test02-result.atom, tests/feeds/test03-result.atom:
	Add expected test results, make check works from Makefile alone

	* tests/feeds/Makefile.am: Fix RAPPER call

2009-03-10  Dave Beckett <dave@dajobe.org>

	* tests/feeds/test01.atom, tests/feeds/test02.atom,
	tests/feeds/test03.atom: Remove atom output - now generated via
	test

	* tests/feeds/Makefile.am: fix error in error logging

	* configure.ac, tests/Makefile.am, tests/feeds,
	tests/feeds/Makefile.am: automaked tests/feed

	* tests/feeds/Makefile: Removed, now autogenerated

2009-02-28  Dave Beckett <dave@dajobe.org>

	* src/raptor_serialize_rss.c: comments

	* src/raptor_serialize_rss.c:
	(raptor_rss10_serialize_statement):
	Code style, remove if() depth.

2009-02-27  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss_common.c: Make itunes:owner container work again.

2009-02-25  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss_common.c: fix enclosure class/predicate RDF names

	* src/raptor_rss.h, src/raptor_rss_common.c: Added
	RAPTOR_RSS_RDF_ENCLOSURE for enclosure predicate in RDF as well as
	RAPTOR_RSS_RDF_ENCLOSURE_CLASS for enclosure class in RDF

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Declare as
	seen the namespace for a block.

	* src/raptor_rss.h, src/raptor_rss_common.c: Add RAPTOR_ATOM_LINK
	block type

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Emit type URI from
	cls field, not predicate.

2009-02-23  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c: raptor_rss_element loses unused rel field

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Remove
	unused element attribute recognition <source url> and <category domain>

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Set
	enclosure namespace used if an enclosure block was seen.

2009-02-22  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss_common.c: raptor_rss_items_info - add block
	predicate types raptor_rss_fields_info - make atom:author a
	block. add atom:Author, atom:Category, atom:label, atom:schema and
	atom:term raptor_rss_block_fields_info - add new predicates for
	atom:category block add atom:author block

	* src/raptor_rss.c: raptor_rss_parser gains current_block field to
	store current metadata block object.
	(raptor_rss_start_element_handler): Set current_block.
	(raptor_rss_end_element_handler): Store any cdata in block field
	with NULL attribute if there is one.

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Wildcard element name matches
	for RSS namespaces

	* src/raptor_rss.c:
	(raptor_rss_block_set_field): Added.
	(raptor_rss_start_element_handler): Use above to set a block
	attribute value

	* src/raptor_rss.c: raptor_rss_parser - comment.
	(raptor_rss_start_element_handler): Use
	raptor_rss_get_current_item to get item.  When checking block
	attributes, skip NULL attribute names - for element cdata

	* src/raptor_rss.c:
	(raptor_rss_emit_block): Code style and skip block fields with no name.
	(raptor_rss_emit_item): Code style.

	* src/raptor_rss_common.c: raptor_rss_fields_info modify to make
	rss:link and rss:docs take URLs

	* src/raptor_rss.c, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: Use RAPTOR_RSS_RDF_ENCLOSURE_CLASS for
	enclosure class and RAPTOR_RSS_FIELD_ENCLOSURE for predicate

	* src/raptor_rss.h: RAPTOR_RSS_BLOCKS_SIZE 10 after removing rss
	container

	* src/raptor_rss.h, src/raptor_rss_common.c: Add itunes: namespace
	and itunes:owner container with fields in namespace itunes:
	author, subtitle, summary, keywords explicit, image, name, block,
	category and email

	* src/raptor_rss.h, src/raptor_rss_common.c: raptor_rss_type loses
	RAPTOR_RSS_CATEGORY type.  raptor_rss_block_fields_info loses rss
	category - just make it a string value

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c:
	raptor_rss_type delete RAPTOR_RSS_UNKNOWN and replace with
	RAPTOR_RSS_NONE everywhere

2009-02-21  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: raptor_rss_field_info renamed from
	raptor_rss_info

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: raptor_rss_items_info renamed from
	raptor_rss_types_info raptor_rss_types_info gains a flags field to
	distinguish blocks from containers.
	(raptor_rss_add_container): Use flag to only scan containers, not
	blocks.
	(raptor_rss_emit_block): Handle all types of blocks.  Use the node
	type from raptor_rss_types_info to emit the node type.  Use the
	raptor_rss_block_fields_info to emit the predicates for all
	blocks.

2009-02-20  Dave Beckett <dave@dajobe.org>

	* src/raptor_rss.c:
	(raptor_rss_start_element_handler): Code style.

	* src/raptor_rss.c:
	(raptor_rss_insert_identifiers): Tidy to use
	raptor_set_identifier_uri. Indenting.

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: 
	(raptor_rss_start_element_handler, raptor_rss_insert_identifiers,
	raptor_rss10_serialize_statement): Use raptor_set_identifier_uri
	and raptor_set_identifier_id and refactor to use them better.
	(raptor_rss_block_make_blank_node,
	raptor_rss_insert_block_identifiers): Deleted.
	(raptor_rss_item_equals_statement_subject): Added.
	(raptor_new_rss_block): Add id argument.

	* src/raptor_identifier.c, src/raptor_internal.h:
	Added raptor_set_identifier_uri and raptor_set_identifier_id

	* src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c,
	src/raptor_serialize_rss.c: Remove old enclosure core and switch
	to data-driven raptor_rss_block metadata code.  Update copyrights
	for 2009.  typedef raptor_rss_block_fields_info renamed from
	raptor_rss_block_info and add docs.  Renamed field 'attribute'
	from field_name, attribute_type from field_type.  Added rdf
	predicate info 'field'.  raptor_rss_block_fields_info adds
	predicate info.
	(raptor_rss_start_element_handler): Read from
[--snip--]
