Initial revision
[TestXSLT.git] / libsablot / RELEASE
1 #====================================================================#
2 #  The release file for Sablotron                                    #
3 #====================================================================#
4
5 Version 0.98 RC2
6 March 18, 2003
7 ----------------
8         - added stylesheet chaining to sabcmd [by Stefan Behnel]
9         - changes in XML::Sablotron (new layout, added DOMHandler SXP 
10           interface) [by Nicolas Trebst and Anselm Kruis]
11         - fixed a bug of variables bound for SXP queries
12         - fixed a bug of the self axis (principal node type)
13         - fix for Metrowerks C/C++ compiler [suggested by Tim Crook]
14         - fixed a bug of forbidden XPath (child::xxx@yyy)
15         - configuration fixes (APIDOC docs are built only when 
16           Perl/XML::Parser found)
17         - fixed defaults for xsl:number
18         - fixed a bug of required order of top-level variables
19         - fixes in the outputting of NS declarations
20         - fixes in the import precedence [report by Roy Huggins]
21         - added a new config switch for sabcmd to abort on XSLT error 
22           (--enable-abort-on-error)
23         - fixed a bug in namespace-alias
24
25 Version 0.97
26 December 30, 2002
27 -----------------
28         - fixed the problem with Expat 1.95.5
29         - fixed a bug in xsl:message [report by Bob Kline]
30         - fixed an infinite loop bug in recursive imports
31           [report by Michael Vladimirov]
32         - added SablotGetOptions() function
33         - added a new option (SAB_FILES_TO_HANDLER) to pass the 'file'
34           URIs to the scheme handler
35         - fixed collisions with PHP/Java extension, Arena* renamed to 
36           SabArena [suggested by Christian Stocker]
37         - mapping of namespaces added to xql() function (DOM)
38         - chars illegal in output encoding displayed as references 
39           (for xml, html, xhtml output methods)
40         - fixed resolution of relative URIs in document()
41         - fixed a bug of not overridden imported parameters
42         - documentation sources (APIDOC XML) added to distribution
43
44 Version 0.96
45 September 5, 2002
46 -----------------
47         - XSLT debugger implemented (sabcmd --debugger)
48         - API fixes for PHP extension
49         - log() function added to write to Sablot's log from JS scripts
50         - conflicts of top-level elements (variable, key, script) 
51           initializations resolved
52         - fixed xslt_process buffer overflow
53         - fixed a bug of duplicate NS qualified attributes
54         - minor SXP bug fixes [using patches by Tim Crook]
55         - fixed a bug of the 'mod' operator [report by Jork Behrends]
56         - fixed a bug of sorting with multiple keys [report by Jork Behrends]
57         - fixed a bug of comparison [report by Jork Behrends]
58         - DOM: fixed a bug of the default XML namespace 
59           [report by Albert Micheev]
60         - DOM: fixed a bug of PIs [report by Albert Micheev]
61         - improved configuration [by Melvyn Sopacua]
62         - fragment identifiers allowed in document() for custom 
63           schemes [report by Bob Kline]
64
65 Version 0.95
66 June 24, 2002
67 -------------
68         - DOM support upgraded to DOM Level2
69         - xsl:strip-space and xsl:preserve-space implemented
70         - XSLT on external documents (accessed via callbacks)
71         - esxlt:document instruction implemented
72         - unparsed-entity-uri() function implemented
73         - added a manual page for sabcmd
74         - added a batch mode (multiple sources/stylesheets)
75           for sabcmd [by Stefan Behnel]
76         - added a system property to display version
77         - added a flag for document() to return an empty node-set when
78           it refers to non-existing document
79         - fixed a bug in relative paths to ext. entities
80         - fixed a sorting bug on Solaris
81         - fixed matching precedence for processing-instruction('lit')
82         - fixed a bug in xsl:decimal-format/format-number()
83         - fixed a bug in string() - comments excluded
84         - fixed a bug of RTFs in xsl:attribute (comment, pi)
85         - fixed a bug of generate-id for multiple documents
86         - various minor fixes
87
88 Version 0.90
89 March 8, 2002
90 -------------
91         - xsl:import implemented
92         - fixed a bug in boolean expressions with nodesets
93           [reported by John Holland]    
94         - current() implementation redesigned
95         - variables not allowed in 'match' attributes of templates
96         - fixed a bug in attribute value escaping [Christian Lefebvre]
97         - fixed a bug in ext. entities base URI [Christian Lefebvre]
98         - fixed a bug in sabcmd --base option [Christian Lefebvre]
99         - span not indented with html method
100         - processing-instruction() node test allows literal arguments
101         - only top-level variables and params visible in xsl:attribute-set
102         - fixed a bug in xsl:number
103         - fixed a bug in master situation cleanup
104           [patch proposed by Bill Hofmann and Bob Kline]
105         - fixed a bug in error reports from included files
106         - correct name of element, attribute and pi is checked
107
108 Version 0.82
109 January 30, 2002
110 ----------------
111         - fixed the text output method 
112           (nothing but text nodes are outputted)
113         - SCRIPT and STYLE escaped for xhtml
114         - fixed a bug in escaping attributtes (src, href)
115         - fixed a bug in aliasing doctype declaration
116         - fixed bugs related to Sun CC compiler [Tim Crook, Greg Cope]
117         - fixed a memory management bug [Tim Crook]
118
119 Version 0.81
120 January 16, 2002
121 ----------------
122         - PUBLIC URLs in doctypes and ext. entities not parsed 
123           by default (SAB_PARSE_PUBLIC_ENTITIES situation option)
124         - non-xsl elements allowed inside xsl:stylesheet
125         - xsl attributes not outputted anymore
126         - xsl:namespace-alias translates attributes as well
127         - content of SCRIPT and STYLE not escaped for html/xhtml
128         - Boolean attributes are abbreviated for html output method
129
130 Version 0.80
131 January 8, 2002
132 ---------------
133         - implemented extensions (JavaScript functions + DOM, 
134           extension-element-prefixes, xsl:fallback, function-available(),
135           element-available())
136         - fixed a bux in the 'following' axis
137         - fixed current() assertion fault
138         - fixed "META tag placed outside HEAD" bug
139         - fixed a bug in abbreviated [position] expression in 
140           template 'match' attribute
141         - implemented lang () function
142         - added 'namespace' attribute of xsl:element
143         - implemented 'exclude-result-prefixes'
144         - implemented xsl:attribute-set and 'use-attribute-sets'
145         - added 'namespace' attribute of xsl:attribute
146         - fixed translate() bug
147         - key() now works with document()
148         - fixed short stylesheet notation output bugs
149         - added use-attribute-sets attribute to xsl:copy
150         - minor bugs fixed
151
152 Version 0.71
153 November 5, 2001
154 ----------------
155         - sum() bug fixed
156         - fixed a Solaris problem with key() [report by Archie Russell]
157         - SXP minor bugs fixed
158         - implemented axes 'following' and 'preceding'
159         - added an SXP callback for id() and a 'user data' pointer for
160           some callbacks
161         - fixed a namespace bug in SXP
162         - improved error messages
163         - fixed a bug in parsing external files [reported by Tim Crook]
164         - fixed a bug of current() in inner context() 
165           [reported by Ian Davis]
166         - fixed a bug of calling XSLT instructions inside xsl:text
167         - fixed a SablorRunProcessorGen assertion bug
168         - fixed a scheme handler bug [reported by Tim Crook]
169
170 Version 0.70
171 September 17, 2001
172 ------------------
173         - added Sablotron XPath processor
174         - implemented xsl:key and key()
175         - implemented format-number() and xsl:decimal-format
176         - implemented xsl:number
177         - fixed namespace treatment in the DOM part
178         - the string functions now work correctly with non-ASCII text
179           [fix partly by Christian Lefebvre]
180         - fixed a bug in the DOM interface
181         - fixes for BeOS [Gabe Bauman]
182
183 Version 0.65
184 August 15, 2001
185 ---------------
186         - improved HTML indentation
187         - fixed bug causing output of XML declaration when method='text'
188           [reported by Jason Dumler]
189         - parameter entities are always parsed
190         - xml declaration ends with ?> using HTML method
191         - > is escaped in HTML
192         - fixed the RTF serialization [report by Christian Lefebvre]
193         - fixed the non-ASCII character escaping in URIs
194         - changed SDOM_xql so it uses namespace declarations on the
195           document element
196         - a few more minor bug fixes
197
198 Version 0.60
199 June 13, 2001
200 -------------
201         - implemented a subset of DOM level 1 (see sdom.h)
202         - added sdom.cpp and sdom.h to the project
203         - new interface methods for Sablotron (preferred use)
204           SablotRunProcessorGen, SablotAddArgTree, SablotAddArgBuffer
205           SablotAddParam
206         - added a simple support of <xsl:output indent>
207         - fixed a namespace node name bug [report by A. Nuzhdov]
208         - added support for parametr entities [suggested by Peter Blum]
209         - fixed a bug related to evaluation of arithmetic 
210           expressions [reported by Sam Brauer] 
211         - fixed a minor bug related to the xhtml output method
212
213 Version 0.52
214 March 29, 2001
215 --------------
216
217         - added support for encoding conversions using iconv
218         - all memory leaks occuring on processing errors are fixed
219           [thanks for project support to Mitel Networks Corporation]
220         - fixed the "duplicit attribute error" bug [Marc Lehmann]
221         - fixed a bug in context evaluation [reported by Marco Guazzone]
222         - fixed several bugs related to the hash table [Tom Moog]
223
224 Version 0.51
225 ------------
226         - a maintenance release
227         - fixed the quoting of quotes in HTML output [patch by Mark Bartel].
228         - fixes by Tim Crook for AIX
229         - Sablot runs even without wcsxfrm() or wchar.h (although
230           it doesn't sort)
231         - the problem with the type of an iconv() call argument is fixed
232         - added support for the xhtml output method [Marc Lehmann]
233         - fixed bug causing elements being output as <:x> [Andreas Buschmann]
234         - xsl:sort works if wcsxfrm() is not present (sorts naively though)
235
236 Version 0.50
237 ------------
238         - added match predicate optimization
239         - added proper character class handling [patch by Marc Lehmann]
240         - fixed a bug in last() [reported by Dirk Siebnich]
241         - fixed a problem with empty NS decls [reported by S. Tryggvason]
242         - added SablotSetEncoding().
243         - fixed an error with xml:lang [reported by Nicolas Sauret]
244         - fixed the 'divide by zero' MSVC warning [suggestion by Dirk Siebnich]
245         - added support for xsl:sort
246         - fixed an expression parsing error [report by Clayton Cottingham]
247         - fixed a bug in current() [report by Daniel Hammond]
248         - minor fix for RedHat 7 [David Hedbor] 
249         - fixed another bug in translate()
250         - fixed a bug related to starts-with() [reported by Myoungki Kim]
251         - fixed top-level elements check 
252
253 Version 0.44
254 ------------
255         - Fixed an elusive bug in HashTable causing occassional crashes
256         - Added the namespace-alias() and message() functions
257           [patch by Major]
258         - More fixes related to: XML namespace declarations, nested
259           stylesheet inclusion, Byte Order Mark in UTF-8 doc,
260           "SYSTEM" in DOCTYPE declaration, the preceding-sibling and
261           following-sibling axes, iconv.
262         - Patch for OpenBSD [Anil Madhavapeddy].
263
264 Version 0.43
265 ------------
266         - Fundamental changes to improve performance.
267         - Added Latin2 input support [thanks to Matt Sergeant]
268         - Added Japanese encodings support [patch by Rui Hirokawa]
269         - Fixed treatment of NaNs etc. [based on patch by Robin Houston]
270         - Minor bug fixes.
271         - Added platform.cpp for platform-dependent code.
272         - Added code to generate the <META> tag when using the
273           html output method.
274
275 Version 0.42
276 ------------
277         - Sablotron is now thread-safe [thanks to Leo Yu].
278         - Output recoding can be done if iconv is present [Sven Neumann].
279         - Match predicates work.
280         - Several bug fixes [Robin Houston].
281         - Added:
282                 MiscHandler with documentInfo()
283                 SablotSetBaseForScheme()
284                 the current() function [Robin]
285         -The actual error code is returned from SablotProcess etc.
286
287 Version 0.41
288 ------------
289         - Sablotron now uses autoconf and works with an unmodified
290           copy of expat. Its layout is a bit different.
291         - Bug fix (reported by Kay Sievers).
292
293 Version 0.4
294 -----------
295         - The license was changed to MPL+GPL. 
296         - Output conformance improved considerably (proper escaping
297           etc.).
298         - A SAX interface to the result document is available so one
299           can bypass the construction to the result tree.
300         - Some changes to the Sablotron interface.
301         - Implemented <xsl:output>, <xsl:comment>,
302           <xsl:processing-instruction>.
303         - External general entities work now.
304         - Bug fixes (thanks for reports and/or patches to Hans Raaf,
305           Florian Hars, <robin@kitsite.com>, Mark W. Eichin and 
306           Robin Berjon).
307         - Performance improvements.
308
309 Version 0.36
310 ------------
311         - optimized string handling, resulting in a significant
312           performance improvement
313         - implemented <xsl:copy>
314
315 Version 0.35
316 ------------
317         - fixed a bug concerning the descendant axis, reported by Les
318           Woolsey
319         - included the Solaris port (patch contributed by Steven Rowe)
320         - added SablotSetLog() for setting the log file. Turned
321           logging off by default. 
322         - added SablotRegMessageHandler() for setting a message
323           handler. Using this, you can handle all error/warning/log
324           messages the way you like.   
325         - if the xsl prefix is bound to an obsolete URI, a warning is
326           issued
327         - added SablotProcessStringsWithBase() which makes it possible
328           to override the stylesheet's physical URI with a 'hard base
329           URI' 
330         - added some command-line switches to sabcmd, e.g. --log-file
331           and --measure
332
333 Version 0.34
334 ------------
335         - bug fixes
336         - major memory leak fixes
337
338 Version 0.33
339 ------------  
340 CVS: tag SABLOT_0_33 (tom, main trunk)
341         - this release log started
342         - first major release following Sablotron 0.3
343         - added URI processing with relative URI resolution
344         - added support for the arg: scheme (named buffers)
345         - added support for passing global parameters
346         - introduced the SablotProcess() function as a general interface
347         - sabcmd can pass named buffers as well as the global params
348         - added a lot of core library functions