summaryrefslogtreecommitdiff
path: root/RELEASE.html
blob: c07498cf8a670b56c99c919b417049d188602e11 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <title>Raptor RDF Parser Toolkit - Release Notes</title>
</head>
<body>

  <h1>Raptor RDF Parser Toolkit - Release Notes</h1>

<h2 id="rel1_3_3"><a name="rel1_3_2">Raptor 1.3.3 Changes</a></h2>

<p>FIXME: NOT RELEASED YET</p>

<p>A release with major improvements along with several minor fixes.</p>

<p>Raptor's License was changed from LGPL 2.1/MPL 1.1 to
LGPL 2.1/Apache 2</p>

<p>Thanks to Chris Pointon for several patches to make Raptor
easier to build under Win32 which were applied, with some slight
modifications.</p>

<p>Increased WWW content retrieval buffer size from 256 bytes to 4K
since this was causing problems for even moderate size documents.</p>

<p>After testing raptor on a very large RDF/XML file with many
<code>rdf:ID</code> values, the check for duplicate values was found
to be inefficient in memory and slow.  The implementation was
improved to be more memory efficient and a new parser feature
<code>check_rdf_id</code> was added to disable checking (default is
enabled).</p>

<p>Added a new Unicode NFC checker to replace the functionality
formally available by calling the GNOME glib function
g_utf8_normalize.  This new checker is done via several tables and
adds approximately 50K to the object size of the library when
compiled on x86.  This code and tables can be disabled with configure
option <code>--disable-nfc-check</code> causing all checks to
succeed.</p>

<p>Fix the exporting of
<code>raptor_xml_literal_datatype_uri_string</code> and
<code>raptor_xml_literal_datatype_uri_string_len</code> as constants
for use by applications.  Previously raptor.h wasn't doing this
correctly.</p>

<p>Added <code>raptor_calloc_memory</code> for allocating zeroed
memory inside raptor, for use by applications passing memory in/out
of raptor.</p>

<p>Added a new configure option <code>--enable-parsers</code> to
allow the selection of the required RDF parsers from any of those
supported (RDF/XML, Turtle, N-Triples, RSS tag soup).
</p>

<p>Reorganised the sources to split parsing support from RDF/XML
to support compiling without this parser.</p>

<p>Updated the RSS Tag Soup parser to start to handle the Atom 0.3
currently being standardised by the
<a href="http://www.ietf.org/html.charters/atompub-charter.html">IETF Atom Publishing Format and Protocol</a>
working group.
</p>

<p>Altered the Turtle parser to work with large source documents that
exceeded bison limits.  Thanks to Geoff Chappell for providing a fix for
this.</p>

<p>Rewrote the URI parsing to create an internal structure and
improved the relative URI resolving in preparation for future work
such as potentially supporting URI canonicalisation such as proposed
to be used by Atom.</p>


<h2 id="rel1_3_2"><a name="rel1_3_2">Raptor 1.3.2 Changes</a></h2>

<p>A release with some minor fixes.</p>

<p>Added a new configure option
<code>--with-expat-source=</code><em>DIR</em>
to allow the use of external expat source trees in either the old or
newer directory structure style. (Patch from Mark Smith).</p>

<p>Added <code>raptor_alloc_memory</code> for handlers that need to
allocate memory in the same heap as raptor uses for
<code>raptor_free_memory</code>. This is mostly useful for allocating
memory that is freed by raptor in error, ID and statement handlers
on win32 which has separate heaps for different DLLs.</p>

<p>A bug was fixed where errors which happened when fetching WWW
content were always printed to stderr.  They are now passed to the
main error routines which allows applications to retrieve them.</p>

<p>Accessor functions were added for parts of the public
<code>raptor_locator</code> structure which makes it possible to get
structured error information from language bindings via Redland
(Patch from Edd Dumbill).  The new functions are:</p>

<ul>
<li><code>int raptor_locator_line(raptor_locator *locator);</code></li>
<li><code>int raptor_locator_column(raptor_locator *locator);</code></li>
<li><code>int raptor_locator_byte(raptor_locator *locator);</code></li>
<li><code>const char * raptor_locator_file(raptor_locator *locator);</code></li>
<li><code>const char * raptor_locator_uri(raptor_locator *locator);</code></li>
</ul>

<p>The Unicode Normal Form C (NFC) checking via the GNOME glib
library function <code>g_utf8_normalize</code> is broken, comparing
the data it says is failed against other NFC checkers.  It is also
slower than need be since it is doing full normalizing rather than
just checking for NFC, and adds a rather large dependency for just
one function.  A new portable checker will be added in a later
release.</p>




<h2 id="rel1_3_1"><a name="rel1_3_1">Raptor 1.3.1 Changes</a></h2>

<p>A release primarily to fix some win32 and portability issues.</p>

<p>raptor.h now includes stdarg.h</p>

<p>Corrected the <code>raptor_print_statement</code> declaration in
raptor.h for the argument statement to have one less 'const' which
matches the actual code.</p>

<p>Made several portability fixes for compiling natively on win32
which doesn't quite do POSIX or C99.</p>

<p>Changed the support for file: URIs and converting to and from
filenames.  It now %-escapes spaces and % characters on conversion
to and from filenames with
<code>raptor_uri_uri_string_to_filename</code>,
<code>raptor_uri_uri_string_to_filename_fragment</code>
and
<code>raptor_uri_filename_to_uri_string</code>.
For Win32, more tests were added and the
format of URIs supported corrected to use the <code>file:///c:</code>
form rather than <code>file://c|/</code></p>

<p>URIs that resolve to directories now return an error when lstat is
available to check.</p>



<h3>Parser Changes</h3>

<p>The
<a href="http://www.ilrt.bristol.ac.uk/discovery/2004/01/turtle/">Turtle</a>
parser was updated to only allow language with non-datatyped literals,
allow a '_' immediately after a ':' in qnames and to make a bare ':'
qname work correctly.
</p>

<p>The Turtle parser was fixed to re-initialise correctly when
performing multiple parsings.  The other parsers already did this
correctly.</p>

<p>Added a warning to the RDF/XML parser for unknown
<code>rdf:parseType</code> values, when parsing in lax mode - which
is the default.  It now tells the user when the parsing is working as
'Literal' mode by finding an unknown value.  This is controlled by a
new parser feature warn_other_parsetypes which is default set true
in lax mode.  Parser modes are controlled by the
<code>raptor_set_parser_strict</code> method.</p>



<h2 id="rel1_3_0"><a name="rel1_3_0">Raptor 1.3.0 Changes</a></h2>

<p>A release primarily to provide support for
the new <a href="http://www.redland.opensource.ac.uk/rasqal/">Rasqal</a>
RDF query library but with some new features and fixes.</p>


<h3>Parser Changes</h3>

<p>Added a new constructor
 <code>raptor_new_parser_for_content</code> to guess the parser to use
from hints in URIs or content, using a new utility function
<code>raptor_guess_parser_name</code>.</p>

<p>Additional checks were added to the RDF/XML parser for
RDF-namespaced names in element and attributes and if they are
forbidden giving an error otherwise if unknown, giving a warning.</p>

<p>The
<a href="http://www.ilrt.bristol.ac.uk/discovery/2004/01/turtle/">Turtle</a>
parser was updated to correct the collections syntax, allow '-' in
names and QNames and to add integer literals.  This parser now correctly
uses <code>raptor_generate_id</code> when a blank identifier name is
needed.</p>

<p>Completed parser feature support by adding <code>raptor_get_feature</code>,
<code>raptor_feature_from_uri</code>, and
<code>raptor_features_enumerate</code> to get values and enable
discovery of supported features at run time.
<code>raptor_set_feature</code> was changed to give return a success
value</p>

<p>Added a new method <code>raptor_get_mime_type</code> to get the
MIME type of the syntax for a parser</p>

<p><code>raptor_parse_uri_with_connection</code> (which is called by
<code>raptor_parse_uri</code>) now sets the HTTP <code>Accept:</code>
header to the MIME type of the parser in WWW requests using the new
<code>raptor_www_set_http_accept</code>.
</p>


<h3><code>rapper</code> changes</h3>

<p>Added options <code>-f</code>/<code>--feature</code> for setting
features and <code>-g</code>/<code>--guess</code> for guessing syntax
from some content or identifiers.  See <a href="rapper.html">rapper(1)</a>
for all rapper options.</p>


<h3>Utility function changes</h3>

<p>Added <code>raptor_syntax_name_check</code> to check for valid
syntax language names.<br />
</p>

<p>Added <code>raptor_free_memory</code> to free memory returned by
raptor functions.</p>

<p>Added Unicode utility functions <code>raptor_unicode_char_to_utf8</code> and
<code>raptor_utf8_to_unicode_char</code>.</p>

<p>Exported URI string <code>raptor_xml_literal_datatype_uri_string</code>.</p>

<p>Deprecated <code>raptor_print_statement_detailed</code> always
intended to be internal.</p>


<h3>WWW Class changes</h3>

<p>Added support to set the HTTP <code>Accept:</code> header for curl
and libxml2 when retrieving HTTP content by the new
<code>raptor_www_set_http_accept</code> method.
</p>


<h3>New classes - Sequence and Stringbuffer</h3>

<p>Added a utility class <code>raptor_sequence</code> providing
simple sequences that can handle stacks and queues</p>

<p>Added a utility class <code>raptor_stringbuffer</code> 
for constructing strings from substrings appended or prepended.</p>



<h2 id="rel_older"><a name="rel_older">Raptor 0.9.0 - Raptor 1.2.0 Changes</a></h2>

<p>Release notes for 1.2.0 and earlier are in the
<a href="NEWS.html">NEWS page</a> or
<a href="ChangeLog">ChangeLog</a>
</p>



<hr />

<p>Copyright 2003-2004 <a href="http://purl.org/net/dajobe/">Dave Beckett</a>, <a href="http://www.ilrt.bris.ac.uk/">Institute for Learning and Research Technology</a>, <a href="http://www.bristol.ac.uk/">University of Bristol</a></p>

</body>
</html>