# Rasqal RDF Query Library - News

## 2012-05-13 Rasqal Version 0.9.29 Released

Supports all of SPARQL 1.0 by passing 100% of the approved tests
Added support for XSD date
Made XSD dateTime and XSD date equality and comparison work
Make limit and offset check work properly in a subquery
Correctly handle errors during aggregation expressions evaluation
Fix blank node generation when made in a CONSTRUCT to match SPARQL
Added SPARQL 1.1 draft `UUID()` and `STRUUID()` support
Requires Raptor 2.0.7+
RDQL support will be removed in the next release (0.9.30)
Made other fixes and improvements including fixing reported issues: 0000493, 0000494 0000504

See the Rasqal 0.9.29 Release Notes for the full details of the changes.

## 2011-11-17 Rasqal Version 0.9.28 Released

Added full support for SPARQL 1.1 draft `STRBEFORE`, `STRAFTER` and `REPLACE`.
Add internal Mersenne Twister PRNG or choose others via configure
Language name '`sparql`' is now SPARQL 1.1
The query result formats now all use the W3C Format URIs as their primary URI
Improved configure check for for ceil(), floor() and round() to prevent GCC optimizing the test away and getting the wrong answer
Made other fixes and improvements including fixing reported Issues: 0000466, 0000467, 0000470, 0000471 and 0000474.

See the Rasqal 0.9.28 Release Notes for the full details of the changes.

## 2011-08-23 Rasqal Version 0.9.27 Released

sub-`SELECT`s can now be executed
`OPTIONAL` and `UNION` fully execute correctly
Grouping over sub-graph patterns fully executes correctly
`CONSTRUCT WHERE` abbreviation is supported and executes
`CONSTRUCT` works when working over a query with optionals
Updated the CSV and TSV outputs to match the editor's draft SPARQL 1.1 Query Results CSV and TSV Formats
Made other fixes and improvements including fixing reported Issues: 0000127, 0000423, 0000434, 0000454 and 0000459.

See the Rasqal 0.9.27 Release Notes for the full details of the changes.

## 2011-06-27 Rasqal Version 0.9.26 Released

Query engine improved with new variable scoping approach that makes `UNION` work better
Added SPARQL 1.1 query draft support for `MD5()`, `SHA1()`, `SHA224()`, `SHA256()`, `SHA384()` and `SHA512()`
Removed old query engine 1
Added a method to set the query warning level
Made other fixes and improvements including fixing reported Issues: #0000430, #0000431, #0000436, #0000438, #0000439 and #0000446.

See the Rasqal 0.9.26 Release Notes for the full details of the changes.

## 2011-02-22 Rasqal Version 0.9.25 Released

Added SPARQL 1.1 query draft support for `ABS()`, `CEIL()`, `FLOOR()`, `RAND()`, `ROUND()` and `TZ()`
Added SPARQL 1.1 query draft support for `BIND(`expr`AS ?`var`)`
Fixed SPARQL 1.1 update draft `SILENT` with `DROP` and `CLEAR`
Fixed SPARQL 1.1 query draft `ENCODE_FOR_URI()` to not preserve language and datatype of argumnet
Fixed SPARQL 1.1 query draft `GROUP BY` to allow an optional `AS ?var`
Added an expression evaluation context class to store state for use with evaluating expressions
Fixed triple-quoted literals over-quoting and their use with language and datatypes
Added support for initialising the random seed from system sources or a user value via the API
Fixed several query execution cases
Query engine now handles NULL as a valid value separate from an error
Made `rasqal_query_set_store_results()` actually work
Fixed Issues #0000421, #0000427 and #0000428.

See the Rasqal 0.9.25 Release Notes for the full details of the changes.

## 2011-01-30 Rasqal Version 0.9.24 Released

Fixed some memory leaks with variables and literals during parsing
Added SPARQL 1.1 update draft support for: `ADD`, `MOVE` and `COPY`; `DELETE WHERE { }`; `CLEAR` and `DROP` with graph application qualifiers; `SILENT` qualifier and using `;` to separate multiple operations.

See the Rasqal 0.9.24 Release Notes for the full details of the changes.

## 2011-01-27 Rasqal Version 0.9.23 Released

Fixed parsing of SPARQL 1.1 Update draft INSERT and DELETE to return sequences of triples
Fixed cleanup for syntax errors due to disabled query language features
Fixed Issues: 0000407 and 0000414, 0000415 and 0000417.

See the Rasqal 0.9.23 Release Notes for the full details of the changes.

## 2011-01-12 Rasqal Version 0.9.22 Released

WARNING: ABI AND API CHANGED in this release. Rasqal 0.9.22 is binary incompatible with 0.9.21 or earlier.

Builds only against Raptor V2 (2.0.0+) from this release
Added SPARQL 1.1 editor's draft datetime builtins: DAY, HOURS, MINUTES, MONTH, SECONDS, TIMEZONE and YEAR
Added SPARQL 1.1 editor's draft string builtins: CONCAT, CONTAINS, ENCODE_FOR_URI, LCASE, STRENDS, STRLEN, STRSTARTS, SUBSTR and UCASE
Added LAQRS datetime extension builtins: NOW / CURRENT_DATETIME, FROM_UNIXTIME and TO_UNIXTIME
Added query language names for SPARQL 1.0, 1.1 Query and Update, 1.1 Query, 1.1 Update and LAQRS
Added expression evaluation support for new builtins
Added an XSD dateTime class and public API
Added support for reading and writing RDF-encoded query result formats in RDF/XML and Turtle / N3
Many other API additions, removals and changes all described in the Rasqal reference manual

See the Rasqal 0.9.22 Release Notes for the full details of the changes.

## 2010-12-04 Rasqal Version 0.9.21 Released

Updated to handle aggregate expression execution as defined by the SPARQL 1.1 Query W3C working draft of 14 October 2010
Executes grouping of results: `GROUP BY`
Executes aggregate expressions: `AVG`, `COUNT`, `GROUP_CONCAT`, `MAX`, `MIN`, `SAMPLE`, `SUM`
Executes filtering of aggregate expressions: `HAVING`
Parses new syntax: `BINDINGS`, `isNUMERIC()`, `MINUS`, sub `SELECT` and `SERVICE`.
The syntax format for parsing data graphs at URIs can be explictly declared.
The `roqet` utility can execute queries over SPARQL HTTP Protocol and operate over data from stdin.
Added several new APIs
Fixed Issue: #0000388

See the Rasqal 0.9.21 Release Notes for the full details of the changes.

## 2010-08-22 Rasqal Version 0.9.20 Released

Updated to handle more of the new syntax defined by the SPARQL 1.1 Query and SPARQL 1.1 Update W3C working drafts of 1 June 2010
Added execution support for new SPARQL 1.1 query built-in expressions IF, URI, STRLANG, STRDT, BNODE, IN and NOT IN.
Added an 'html' query result table format from patch by Nicholas J Humfrey
Added API support for group by `HAVING` expressions
Added XSD Date comparison support
Support building with Raptor V2 API if configured with `--with-raptor2`.
Many other bug fixes and improvements were made.
Fixed Issues: #0000352, #0000353, #0000354, #0000360, #0000374, #0000377 and #0000378

See the Rasqal 0.9.20 Release Notes for the full details of the changes.

## 2010-02-15 Rasqal Version 0.9.19 Released

The only change to this release is to fix the pkg-config `rasqal.pc` file to to restore the dependency on raptor which was accidently deleted. Lesson learnt: do not commit code after midnight local time.

## 2010-02-14 Rasqal Version 0.9.18 Released

Add initial draft parsing and API (NOT execution) support for SPARQL 1.1 Update W3C Working Draft of 2010-01-26.
Add public APIs (row, results, result formatter, variables table) so that query results can be built, read and written without a query.
Add API resilience checks for invalid NULL pointer arguments.
Many other bug fixes and improvements were made.
Fixed Issues: #0000320, #0000323 #0000343, #0000345 and #0000347

See the Rasqal 0.9.18 Release Notes for the full details of the changes.

## 2009-12-16 Rasqal Version 0.9.17 Released

WARNING: ABI AND API CHANGED in this release. Rasqal 0.9.17 is binary incompatible with 0.9.16 or earlier.

Added a new query engine that implements the SPARQL algebra better
All constructors now take a rasqal_world argument
Added LAQRS syntax support for SUM, AVG, MIN, MAX, COALESCE() experimental syntax
Added query result formatters for CSV, TSV and ASCII tables
Prefer pkg-config for configuring
Many resilience and resource failure fixes by Lauri Aalto
Many other bug fixes and improvements were made
Fixed Issues: #0000077, #0000128, #0000168, #0000258, #0000261, #0000271, #0000279 and #0000305

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

## 2008-07-05 Rasqal Version 0.9.16 Released

WARNING: ABI AND API CHANGED in this release. Rasqal 0.9.16 is incompatible with 0.9.15 or earlier.

Added a rasqal_world object used for all constructor functions
Removed deprecated functions and macros
Fixed some memory leaks and made some low-memory resiliance fixes
Query result sets can be read/written from sparql XML results format
Improved error syntax error reporting

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

## 2007-11-17 Rasqal Version 0.9.15 Released

Many updates for supporting W3C SPARQL Proposed Recommendation. Passes over 92% of the DAWG SPARQL Test Suite.
Many query engine improvements.
Substantial improvements to datatypes support and evaluation.
Many improvements and fixes for use in low-memory situations
Several new APIs were added including a new XSD decimal class
Fixed issues: #0000190, #0000191, #0000193, #0000196, #0000197, #0000198, #0000199, #0000200, #0000201, #0000203, #0000204, #0000219, #0000220, #0000221, #0000225, #0000234, #0000235 and #0000236

WARNING: ABI AND API CHANGE in Rasqal 0.9.16 which will be incompatible with 0.9.15.

See the Rasqal 0.9.15 Release Notes for the full details of the changes.

## 2007-04-22 Rasqal Version 0.9.14 Released

Added syntax and API support but no query engine support for an experimental extension to SPARQL: LAQRS: LAQRS Adds to Querying RDF in SPARQL
Updated the query results formatter to allow better introspection of formats
Updated SPARQL parser for SPARQL Working Draft 2007-03-26 additions.
Fixed issues: #0000152, #0000156, #0000160, #0000167 and #0000182

See the Rasqal 0.9.14 Release Notes for the full details of the changes.

## 2006-10-30 Rasqal Version 0.9.13 Released

Added a new `rasqal_query_results_formatter` class
Query engine now implements SPARQL `GRAPH`
Added query features system to set parameters
Many internal query engine changes (code reorganisation)
Many bug fixes addressing Issues #0000080, #0000094, #0000095, #0000098, #0000100, #0000111, #0000113, #0000118, #0000129, #0000131 and #0000133.

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

## 2006-04-30 Rasqal Version 0.9.12 Released

Added JSON output based on the Serializing SPARQL Query Results in JSON draft
Added query writer so you can use rasqal to turn RDQL into SPARQL
Updated to SPARQL Query Language for RDF W3C Candidate Rec, 6 April 2006 now accepting all SPARQL syntax
Requires raptor 1.4.9 or newer.
Win32 build fixes (John Barstow)
Many internal code re-organisations

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

## 2006-01-15 Rasqal Version 0.9.11 Released

Updated to SPARQL Query Language for RDF W3C Working Draft, 23 November 2005 making several additions and changes to the syntax and functionality.
Using ordering, distinct and limit with query results now works
Created an enhanced API reference manual with `gtk-doc`
Requires Raptor 1.4.8
Many updates to the literal and expression handling
Major internal source code re-organisation
Many other changes, fixes and improvements.

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

## 2005-06-09 Rasqal Version 0.9.10 Released

The query engine now supports sorting query results implementing SPARQL `ORDER BY` (NOTE: duplicate query results are not yet removed)
SPARQL query language support updated for some recent changes

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

## 2005-05-19 Rasqal Version 0.9.9 Released

Updated to SPARQL Query Language for RDF, W3C Working Draft, 19 April 2005 making widespread changes the syntax.
Query API extensively added to access more query structure
Query engine updated including query results limit and offsets
Updated to the revised SPARQL Query Results XML Format (not yet published)
Many other bug fixes and improvements

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

## 2005-04-10 Rasqal Version 0.9.8 Released

Updated to SPARQL Query Language for RDF W3C Working Draft of 17 February 2005
Added casting to the engine and in SPARQL
Restructured query engine to be based on a tree of graph patterns
Constraints now work per-graph pattern
Added a Data Graph API
Query engine uses and binds graph names in queries (SPARQL `LOAD`, `FROM` and `GRAPH`)
Expanded the Graph Pattern API

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

## 2005-02-27 Rasqal Version 0.9.7 Released

Fix a resource cleanup problem when query results were not fully read
Fixed some crashes in expression evaluation with invalid types
Added a graph pattern API to provide full access to the query structures
Added query methods to return just bound or all variables
Some updates for syntax changes of SPARQL Query Language for RDF W3C Working Draft of 17 February 2005
Portability fixes for win32 (Dave Viner)

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

## 2005-02-06 Rasqal Version 0.9.6 Released

Added support and API calls for new query result forms graph and boolean
Added SPARQL `CONSTRUCT`, `ASK` result forms
Added 7 new SPARQL built-in functions
Allow UTF-8 and Unicode in prefixes and QNames in queries
Several other changes and bug fixes.

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

## 2005-01-16 Rasqal Version 0.9.5 Released

Query engine refactored to execute over graph patterns
Added support for SPARQL optionals
Added formatting of query results according to the SPARQL Variable Binding Results XML Format, W3C Working Draft, 21 December 2004
Updated SPARQL to handle syntax changes
Many other improvements and fixes

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

## 2004-10-29 Rasqal Version 0.9.4 Released

Fixed several crashes during query execution
Fixed some memory leaks when a query failed
Pass on internal raptor errors to rasqal users.

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

## 2004-10-25 Rasqal Version 0.9.3 Released

License changed to LGPL 2.1/Apache 2
Added initial support for the W3C SPARQL Query Language for RDF, 2004-10-12 working draft
Queries can now be executed multiple times
Portability fixes for building on win32 (Chris Pointon)
Various `roqet` utility improvements

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

## 2004-08-03 Rasqal Version 0.9.2 Released

Fix casts for C++
Add win32 skeleton header file
Fix a memory leak when using redland inside rasqal

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

## 2004-06-13 Rasqal Version 0.9.1 Released

Added a query results class separate from the query class and moved all the results methods to the new class.
Made portability fixes for the generated RDQL lexer files

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

## 2004-05-15 Rasqal Version 0.9.0 Released

First public release.

## 2003-08-12 Rasqal Version 0.1.0 Released

Initial web site created. Nothing actually released.

Copyright (C) 2003-2012 Dave Beckett
Copyright (C) 2003-2005 University of Bristol