# Redland librdf RDF API Library - News

## 2011-12-03 Redland Version 1.0.15 Released

Revert librdf_new_statement_from_statement() to original copy semantics
Add functions for cross-library (DLL) memory management
Added a few new small APIs.
Fixed Issues: 0000461, 0000468, 0000475, 0000478, 0000483 and 0000485

See the 1.0.15 Release Notes for the full details of the changes.

## 2011-07-23 Redland Version 1.0.14 Released

Rasqal minimum version is now 0.9.25.
Fixed a few URI and node reference leaks after changes for Raptor V2
Added parser class methods to parse from I/O stream sources
Added query class static method to get query language descriptions
Removed unused and Raptor-duplicate internal code
Code cleanup fixing unused variables and values via GCC 4.6, LLVM clang and valgrind.
Other minor fixes and improvements
Fixed Issues: #0000375, #0000418, #0000432 and #0000447

See the 1.0.14 Release Notes for the full details of the changes.

## 2011-02-01 Redland Version 1.0.13 Released

Raptor V1 support was removed; Raptor minimum version is now 2.0.0
Rasqal minimum version is now 0.9.22.
Added description-style APIs for parser, serializer and query results formats
Serializing to quad formats now works
Replaced remaining few abort()s in code paths with error log and failure
Several other minor API changes
Fixed Issues: #0000325, #0000404 and #0000419

See the 1.0.13 Release Notes for the full details of the changes.

## 2010-10-13 Redland Version 1.0.12 Released

Enable `librdf.h` to be used as the top-level header in addition to `redland.h`
Fix linking issues when building with GNU ld with DT_NEEDED disabled
Fixed Issues: #0000329, #0000348 #0000391, #0000392 and #0000393.

See the 1.0.12 Release Notes for the full details of the changes.

## 2010-09-25 Redland Version 1.0.11 Released

Virtuoso storage backend querying now fully works.
Several new convenience APIs were added and others deprecated.
Support building with Raptor V2 API if configured with `--with-raptor2`.
Exports more functions to SWIG language bindings.
Switched to GIT version control hosted by GitHub.
Many other bug fixes and improvements were made.
Fixed Issues: #0000124, #0000284, #0000321, #0000322, #0000334, #0000338, #0000341, #0000344, #0000350, #0000363, #0000366, #0000371, #0000380, #0000382 and #0000383

See the 1.0.11 Release Notes for the full details of the changes.

## 2009-12-16 Redland Version 1.0.10 Released

Added a Virtuoso storage by Patrick van Kleef
Support Rasqal 0.9.17 API
Fix compiling against sqlite 3.6.17 or newer
Fix modular storage dynamic loading linking problems. Several other bug fixes including addressing issues: Issue #0000302, Issue #0000304, Issue #0000311, Issue #0000315 and Issue #0000317.

See the 1.0.10 Release Notes for the full details of the changes.

## 2009-04-12 Redland Version 1.0.9 Released

Made the storages (triple stores) API public and the implementations modular - can be compiled externally and dynamically loaded on demand.
Removed Raptor and Rasqal from sources - now external build dependencies.
Many other bug fixes including addressing issues: #0000272, #0000282 #0000283, #0000285 and #0000286.

See the 1.0.9 Release Notes for the full details of the changes.

## 2008-07-05 Redland Version 1.0.8 Released

Updated to use Rasqal 0.9.16 (from 0.9.15)
Updated to use Raptor 1.4.18 (from 1.4.16)
Added a 'trees' indexed in-memory storage
Improvements to low-memory and other failures of resource allocation
API additions and changes to concepts, parser and serializer classes.
Fixed Issue 0000256

NOTE: The next release of redland will NOT include raptor and rasqal in the tarball, they will be separate download dependencies.

See the 1.0.8 Release Notes for the full details of the changes.

## 2007-12-24 Redland Version 1.0.7 Released

Updated to use Rasqal 0.9.15 (from 0.9.14)
Updated to use Raptor 1.4.16 (from 1.4.15)
Added a optional modular storage
Improvements to low-memory and other failures of resource allocation
Added URI filtering to the parser class
SQLite storage gains transactions and other fixes
Many other bug fixes addressing Issues 0000187, 0000189, 0000203, 0000205, 0000209, 0000213, 0000215, 0000218, 0000229, 0000230, 0000234, 0000235 and 0000236

See the 1.0.7 Release Notes for the full details of the changes.

## 2007-05-05 Redland Version 1.0.6 Released

Updated to use Rasqal 0.9.14 (from 0.9.13)
Updated to use Raptor 1.4.15 (from 1.4.13)
Added a new transactions API for graph changes, implemented for MySQL
Added a new query results formatter class
Many other bug fixes addressing Issues #0000175, #0000173, #0000159, #0000153, #0000150 and #0000038

See the 1.0.6 Release Notes for the full details of the changes.

## 2006-11-19 Redland Version 1.0.5 Released

Updated to use Rasqal 0.9.13 (from 0.9.12)
Updated to use Raptor 1.4.13 (from 1.4.9)
Several API additions
Parsing methods can take a NULL base URI when it is not needed
Added serializer methods to serialize from a stream
Many fixes and improvements to the SQLite storage
Export some more functions to the SWIG binding
Many minor improvements
Many other bug fixes addressing Issues #0000092, #0000103, #0000105, #0000107, #0000114, #0000116, #0000125, #0000130, #0000132, #0000136 and #0000139.

See the 1.0.5 Release Notes for the full details of the changes.

## 2006-05-05 Redland Version 1.0.4 Released

Updated to use Rasqal 0.9.12 to update to SPARQL 2006-04-06 and JSON results
Updated to use Raptor 1.4.9 with many improvements
Fixes for several crashes in parsing and serializing.

See the 1.0.4 Release Notes for the full details of the changes.

## 2006-02-15 Redland Version 1.0.3 Released

Updated to use Rasqal 0.9.11 to update to SPARQL 2005-11-23
Updated to use Raptor 1.4.8 with many improvements
Added a new PostgreSQL storage contributed by Shi Wenzhong
Created an enhanced API reference manual with `gtk-doc`
Some other minor fixes and changes

NOTE: Redland will be switching to use Subversion for version control after the 1.0.3 release. See the Redland Subversion site or the online Redland installation notes for the latest information.

See the 1.0.3 Release Notes for the full details of the changes.

## 2005-06-10 Redland Version 1.0.2 Released

Fixed a crash when querying or searching with the API and getting no results
Updated to use Rasqal 0.9.10 to provide query results sorting such as SPARQL `ORDER BY` and some SPARQL syntax updates. (release notes)
Updated to use Raptor 1.4.7 to to fix some crashes in the RSS tag soup parser and serializer. (release notes)

See the 1.0.2 Release Notes for the full details of the changes.

## 2005-05-29 Redland Version 1.0.1 Released

Updated to use Rasqal 0.9.9 to provide improved SPARQL query support for the revised syntax (release notes)
Updated to use Raptor 1.4.6 to provide a new GRDDL parser as well as updated RSS enclosures support (relase notes)
MySQL store has changed key algorithm: NOTE: may require a store save and reload
SQLite store now returns correct query results
Digest and Hash classes are now public and available to bindings
Empty iterators and streams now always return an object
Win32 portability fixes and build configuration (John Barstow)
Several other API additions were made.

See the 1.0.1 Release Notes for the full details of the changes.

## 2005-02-06 Redland Version 1.0.0 Released

This is a mature library so it is time for 1.0.0
Updated to use Rasqal 0.9.6 for better query and SPARQL support
Updated to use Raptor 1.4.5 for new RDF/XML abbreviated serializer, improved RSS tag soup parser and RSS 1.0 serializer
New experimental SQLite storage

See the 1.0.0 Release Notes for the full details of the changes.

## 2004-11-01 Redland Version 0.9.19 Released

License changed from LGPL 2.1/MPL 1.1 to LGPL 2.1/Apache 2
Updated to use Rasqal 0.9.4 to provide SPARQL support
Updated to use Raptor 1.4.2 to provide serializing of models to strings in RDF/XML or N-Triples
Some small API additions and bug fixes.

See the 0.9.19 Release Notes for the full details of the changes.

## 2004-08-03 Redland Version 0.9.18 Released

(Revert statement usage counting from 0.9.17)

This is Redland 1.0 release candidate 1
New Query and Query Results classes to support RDF querying with RDQL using Rasqal
Moved the language APIS into the new Redland Bindings package
Added a new message logging API giving structured messages
Updated MySQL storage (Morten Frederiksen)
Check that duplicate statements are not added to models
Portability fixes for building natively on Win32 (Jose Kahan)
Updated to Rasqal 0.9.2 and Raptor 1.3.2
Several other minor bugs and fixes.

See the 0.9.17 Release Notes for the full details of the changes.

## 2004-02-24 Redland Version 0.9.16 Released

A small but important bug fix to make the installed C headers work correctly again.

See the 0.9.16 Release Notes for the full details of the changes.

## 2004-01-31 Redland Version 0.9.15 Released

API CHANGE Several classes were modified to use `unsigned char*` for UTF-8 encoded URIs and Literals
Update to synchronise with Raptor version 1.2.0 (RDF/XML and N-Triples parser) - see Raptor NEWS gaining the Turtle Terse RDF Triple Language
Added storage with MySQL written by Morten Frederiksen
Added storage with AKT Triplestore
Added file and URI-backed in-memory storage
Added fixes to make Redland compile cleanly under C++ (tested with g++)
Added assertion checks and reporting for function arguments
Added method for finding statements in a context
Added a method for listing the contexts in a graph
Storage, model and serializer get/set feature methods now take and return nodes
Improved rdfproc utility to handle multiple storage types, storage options, contexts and environment variables for configuration.
Fix crash on reporting parser errors with % in the message
Improved RDF/XML serializer to chose better output names
Many other minor changes and fixes.

See the 0.9.15 Release Notes for the full list of the changes.

## 2003-09-08 Redland Version 0.9.14 Released

Update to synchronise with Raptor version 1.0.0 (RDF/XML and N-Triples parser) - see Raptor NEWS for the changes since 0.9.12.
Added a new utility program `rdfproc` - a general RDF processor for Redland that allows command line use of the library.
Made the Node class intern every node.
Fixed the broken use of Perl `UNIVERSAL::isa`
Other minor API changes

See the 0.9.14 Release Notes for the full list of the changes.

## 2003-08-28 Redland Version 0.9.13 Released

API CHANGE Node The class was modifed to make objects immutable, removing the set methods and to add new node type convienence methods.
API addition Model Added a method to sync the model to the backing store.
API addition Parser Added methods to allow parsing from strings.
API addition Statement Added method to check for partial statements.
API addition Storage Added a method to sync the backing store.
Better error recovery - most errors return if possible.
Added initial simple threading support (patches by Seth Ladd)
Greatly improved Python API using 2.2 features (Edd Dumbill and Matt Biddulph)
Updated Perl, Python and Java APIs to always return new nodes and statements, removing the need to consider shared object issues.
Updated serializing to RDF/XML to handle datatype literals
Update to Raptor version 0.9.12 (RDF/XML and N-Triples parser) - see Raptor NEWS for changes since 0.9.8.
Extensive portability and other bug fixes.

See the 0.9.13 Release Notes for the full list of the changes.

## 2003-02-13 Redland Version 0.9.12 Released

FORMAT CHANGE The persistent storage format was changed to support RDF typed literals and this will require an upgrade of any existing Berkeley/Sleepycat DB stores created by Redland 0.9.11 or earlier. A utility redland-db-upgrade is provided that creates an updated store from an existing one.
API CHANGE Iterator and Stream classes. The next/get_next method is split into get_object always returning a shared object and next methods. get_context method added. (get_object is called current in higher level language APIs)
API CHANGE Model class. Method add_statement no longer takes ownership of the passed in statement. The caller now retains ownership.
API CHANGE Model class. Method add_statements no longer frees the passed in librdf_stream; the caller must free it now.
API CHANGE Node and Model classes. Added RDF Datatyped Literals. Other literal is_wf_xml constructors and methods deprecated.
API CHANGE All literals methods and constructors have no mention of the never-used or supported XML Space argument which is not part of an RDF literal.
Added a script utils/update-api-0912.pl to help automate the API changes as far as possible or warn about those that cannot be automatically updated.
Added contexts - Statements added to Model (when using a Storage that supports contexts) can take an optional Node, returned by the new get_context method on Iterator and Stream classes.
Many portability and compiling fixes (OSX, gcc 3.x, FreeBSD, non-gcc compiler)
Java API classes. Add finished() method replacing useless finalize().
Use Raptor message callbacks to get parser warnings and errors
Build Java API working around the stupid things recent SWIG versions do.
Make Redland work with BDB/Sleepycat DB v4 (as well as v2 and v3)
Python API gains pydoc comments and HTML derived version
Perl and Python APIs now receive Redland message callbacks
Redland URI class now registers with Raptor rather than specially compile Raptor
Added RDF/XML Serializer class and made higher level language APIs to it
Update to Raptor version 0.9.8 (RDF/XML and N-Triples parser) - see Raptor NEWS for detailed changes since 0.9.5
Added skeleton Ruby and PHP APIs
Major source reorganisation.

See also the 0.9.12 Release Notes

## 2002-06-08 Redland Version 0.9.11 Released

Update to Raptor version 0.9.5 (RDF/XML and N-Triples parser)
Added serialization to a syntax API; with N-Triples as the first syntax
Added start of query language API
Updated Python interface to be more Pythonic, now requires python 2.1+
Added Ruby API
Redland will now work as a perl CPAN module
Updated Perl interface - modules have been renamed. Fix programs with update-perl-api.pl
Updated Java API
Now uses libtool to build dynamic and static libraries
Multiple startup/shutdowns of entire library now works.

## 2001-08-28 Redland Version 0.9.10 Released

More work on debian packaging
Added Raptor N-Triples parser
Changes needed for _:name identifiers from N-Triples
Added Java API

## 2001-06-07 Redland Version 0.9.9 Released

Added librdf_world class to manage Redland environment startup/shutdown - pervasive change throughout all other classes
configure improvements to try to get expat variants detected and working more automatically
Added Debian (.deb) package support
SiRPAC parser wrapper now handles multi-line literals
Changed stream and iterator interfaces and classes to be compatible, in preparation for unifying in one new filter class. NOTE: This requires changes to user-code - librdf_iterator_have_elements is now !librdf_iterator_is_end and librdf_iterator_set_map is now librdf_iterator_add_map
Added perl and python interface warnings for above changes
Preparation work for querying for arcs to/from a resource node, filtering
Additional examples and explanations added to perl interface documentation
Updated to Raptor RDF/XML parser 0.9.1 - many bug fixes

## 2001-02-05 Redland Version 0.9.8 Released

Added Tcl interface
Added Raptor RDF parser, written by me (alpha quality) and made some changes to support it.
More fixes to Perl interface to fix crashes
Added Perl RDF::RSS method `as_xhtml` for simple RSS 1.0 to (X)HTML formatting.

## 2001-01-05 Redland Version 0.9.7 Released

Changed Perl Model API - renamed get_* method names, added deprecated warnings for old names.
Updated Repat to 2000-12-24 version (plus some patches).
Added Perl Plain Old Documentation (POD).
Fixed subtle Perl interface object reference bugs.
Changed Model API - add_statement now does not own the added statement
Added to Model API - get_source, get_arc, get_target return one matching librdf_node, not a list of them like get_sources etc. do via librdf_iterator.
Added UTF-8 support for converting between UTF-8 and ISO Latin-1.

## 2000-11-06 Redland Version 0.9.6 Released

Added python interface (2.0 and 1.5)
More perl interface fixes
Parser APIs updated to handle syntax specified by MIME type and/or URI and now have features allowing the setting/querying of parser options.

## 2000-10-20 Redland Version 0.9.5 Released

Added Repat RDF parser by Jason Diamond - jason at njektilo dot org
More perl API fixes and improvements
Internal changes preparing for proper reification support and use of rdf:, rdfs: concepts

## 2000-09-29 Redland Version 0.9.4 Released

Implemented perl interface
Created RPM construction support
Started work on internal RDF parser

## 2000-08-30 Redland Version 0.9.3 Released

Implemented fast get sources, targets, arcs for storage models using multiple hashes (Berkeley DB)
Made Berkeley DB support work for V3, two variants of V2
Implemented removing statements for stored models
Changed internal hash API arguments, which was nice.
Added general RDF utility example code example4.c that parses RDF/XML syntax, stores it and provides multiple query methods.
Added simple 10-line RDF example code example3.c
SiRPAC Java parser call changed to not discard error output
Use streaming part of SiRPAC Java parser
Didn't do anything on list `:(` but fixed several parts of code marked FIXME `:-)`.

## 2000-08-21 Redland Version 0.9.2 Released

API HTML documentation added to release.
configure now splits and generates sub-version numbers.

## 2000-08-18 Redland Version 0.9.1 Released

configure warns user if no persistant storage (BDB) found
configure warns user if no RDF parser configured
Made BDB V1 fail if found by configure - does not work with Redland.
Some improvements to installation document.

## 2000-08-17 Redland named

Redland renamed from librdf, license changed to LGPL/MPL from LGPL/BSD.

## 2000-06-21 Redland first CVS commit

Redland 'born' with first CVS commit: It compiles and builds as a GNU automake/conf suite with 'make distcheck' and 'make check'

Copyright (C) 2000-2010 Dave Beckett
Copyright (C) 2000-2005 University of Bristol