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