XQuilla/ChangeLog
2020-02-17 22:19:57 +01:00

196 lines
9.3 KiB
Text

XQilla: an XQuery and XPath 2.0 library and command line interpreter.
version 2.2.3 (2009.11.12):
* Work around for a Xerces-C bug in DOMDocument::importNode() that
resulted in badly copied prefixes using XQuery Update.
* Fixed a segfault in the DOM 3 API by orphaning Xerces-C Grammar
correctly.
* Fixed optimization of count(), exists(), and empty() based on static
type if the argument uses doc() or collection().
* Fixed a bug that caused a crash when using "order by" in some
circumstances.
* Fixed query/module static-typing to also (re-)static type the modules
it imports.
* Fixed a bug in fn:codepoint-equal().
version 2.2.2 (2009.07.02):
* Fixed XQillaDocumentImpl::cloneNode() to return an instance of
XQillaDocumentImpl.
* Fixed XPath 2.0 so that it doesn't recognize entities in
string literals.
* Fixed a bug in the constant folding identity transforms for
arithmetic expressions.
* Fixed a bug in the undefined context item check.
* Fixed the transform expression to copy document nodes rather than
dissolving them.
* Fixed a bug in the static typing of external functions.
* Fixed a bug in fn:matches()with a zero-length string as the first
argument.
* Fixed a couple of bugs in the debug API, and made it report exit() and
end() events correctly.
* Fixed variable inlining so that variables aren't inlined into loops.
* Fixed a segfault when parsing a document from a memory buffer.
* Fixed a bug in XQC_Implementation->parse_document_file() that
caused parsing to always fail.
* Workaround a bug in Xerces-C that can cause corrupted memory when
deleting a mutex.
* Fixed a bug related to unsigned int/XMLSize_t type difference between
Xerces-C 2.8 and 3.0.
* Fixed alignment on sparc architectures that could cause a SIGBUS
crash.
* Fixed a Windows memory bug involving the URI used in resolving a
document or collection.
* Fixed Windows compile warnings related to Xerces-C types.
* Updated libtool version to 2.2.6.
* Fixed some compiler issues related to the xlC compiler.
version 2.2.0 (2009.01.05):
* Added a debugging API, and a command line debugger invoked by passing
a "-d" flag to the command line tool.
* Added a partial implementation of XSLT 2.0. This should currently be
considered alpha quality.
* Added an implementation of the current draft of XQC, a standard C API
for accessing XQuery implementations.
* Added a prototype implementation of higher order functions for XQuery.
* Added the ExternalFunctionResolver API to resolve implementations for
external functions that are unknown before compile time.
* Added the xqilla:analyze-string() extension function for performing
complex regular expression analysis.
* Added query options for controlling schema validation, document
projection and lint warnings.
* Added a --disable-rpath configure option for maintainers.
* Implemented function and variable inlining, and other partial
evaluation optimizations.
* Implemented tail recursion optimization.
* Modified XQilla to compile against Xerces-C 3.0. A source installation
of Xerces-C is no longer necessary for compilation.
* Improved static typing with cardinality information.
* Fixed a bug in schema validation of a document in no namespace.
* Fixed schema validation to check ID/IDREF constraints correctly.
* Fixed a bug in validation of SequenceTypes like
document-node(schema-element(XX)).
* Fixed a bug in re-writing documents to disk after updating them, when
they have a space in their document URIs.
version 2.1.4 (2008.07.31):
* Fixed a bug in XQTreatAs that removed type checking under
circumstances where it was still needed.
version 2.1.3 (2008.07.29):
* Modified the StaticAnalysis class in order to reduce the memory
footprint of a prepared query by at least 50%.
* Changed the code so that compilation against a patched version of
Xerces-C 2.8 is no longer required. XQilla will build with reduced
functionality without the patches.
* Workaround a Windows optimizer issue that caused instance of
queries to fail in a release build on Windows.
* Fixed another Solaris compilation bug.
version 2.1.2 (2008.04.28):
* Fixed a bug in static resolution of replace expressions
* Fixed the Xerces-C data model layer to work correctly with DOM Level 1
elements and attributes.
* Worked around a Xerces-C bug that resulted in exceptions when using
the DOM 3 API with certain schemas.
* Fixed a 64 bit compilation problem.
* Fixed a Solaris compilation problem.
version 2.1.1 (2008.04.08):
* Added the xqilla:parse-json() and xqilla:serialize-json() extension
functions to parse and serialize JSON.
* Added the xqilla:parse-html() function which uses HTML Tidy to parse
HTML into XML. The function will not be compiled if TidyLib is not
found.
* Added fn:unparsed-text(), a function from XSLT 2.0 which can fetch a
URL and return it as a string.
* Added an xqilla:time() function which outputs the time taken to
evaluate it's argument.
* Added src/xercesc_content_type.patch which should be applied
against Xerces-C 2.8 to fix an HTTP connection bug.
* Added src/xercesc_regex.patch which should be applied against Xerces-C
2.8 to fix a regular expression bug in fn:replace().
* Added project files for Visual C++ 8, including 64 bit build
targets.
* Changed the default XQuery Update revalidation mode to LAX.
* Fixed a bug in the lexing of element and attribute content in
queries that incorrectly rejected certain Unicode characters.
* Fixed a bug in external functions when used with modules.
* Fixed a memory leak in the FastXDMURIResolver.
* Fixed a segfault in XPath2ResultImpl if the results were only
partially navigated.
* Fixed a bug in XPath2ResultImpl where XQExceptions weren't being
turned into XQillaExceptions.
* Fixed XQilla to compile using Visual C++ 6.
* Fixed compilation flags to work under HPUX.
version 2.0.0 (2007.12.12):
* Changed the license for XQilla to the Apache License v2, a more
permissive open-source licence.
* Implemented document projection, an optimisation technique that prunes
sub-trees of documents not needed for the query at parse time. This is
enabled by default.
* Added a new extension function xqilla:parse-xml() which takes a string
and parses it as an XML document.
* Added optional support for using the FAXPP XML parser instead of the
Xerces-C parser.
* Added a command line option to the "xqilla" utility for binding
external variables from the command line.
* Implemented better error messages for type errors.
* Modified the embedded MAPM library so we are now using it under the
terms of the MIT licence.
* Fixed miscellaneous bugs in the XQuery Update implementation.
* Fixed a bug with the algorithm to add and subtract an
xs:dayTimeDuration to or from an xs:date.
* Fixed a bug in XercesNodeImpl which caused a segfault if the node was
created as a value of a global variable in another module.
version 1.1.0 (2007.08.31):
* Added support for XQuery Update (Last Call Working Draft, 28 August
2007).
* Added XQillaConfiguration, which encapsulates everything needed to
create or use a new data model.
* Implemented a new data model called FastXDM. It places nodes in a
sequential array, and is much faster and more memory efficient than
the DOM based data model. This is now the default data model.
* Implemented XercesConfiguration, to enable use of the Xerces-C DOM
based data model.
* Implemented EventHandler, an event based execution interface. This is
used primarily for efficient evaluation of constructed nodes. This can
be invoked using XQQuery::execute(EventHandler*,DynamicContext*).
* Added the ExternalFunction class, to allow users to easily implement
XQuery external functions.
* Added the MessageListener interface, to allow users to easily receive
warning and trace messages.
* Implemented closures, to enable the efficient and lazy execution of
"let" expressions.
* Implemented more lazy execution code for "order by" expressions
* Added better error messages for sequence type checking errors.
* Removed the XQDebugCallback API.
* Rewrote the lexer and parser to be more memory efficient.
* Rewrote "validate" expressions to be more memory efficient.
* Modified the XQuery Test Suite runner to run the forthcoming XQuery
Update test suite.
* Made minor changes to allow compilation against the Xerces-C 2.8
release candidate.
* Fixed a bug in the limit checking of the seconds field in the time
when parsing.
* Fixed modules so that the correct language is used to parse the
module.
* Fixed a bug in the code to create a new dynamic context for a
module.
* Fixed possible segmentation faults and memory leaks when using the
DOM3 API
* A number of other miscellaneous minor bug fixes.
version 1.0.1 (2007.02.12):
* Fixed fn:concat() to accept more than 51 arguments.
* Fixed module parsing, to use the correct language enumeration when
parsing. Output modules in the query plan.
* Fixed a race condition in the parsing of function signatures.
* Fixed parse errors in the DOM3 API, which were being thrown as
XQException instead of XQillaException. [1626534]
* Fixed the building of shared libraries under Cygwin, by adding
-no-undefined to the libtool line in the Makefile. [1639669]
* Fixed a bug in the static typing of user defined functions, that could
result in incorrect errors.