Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > da8586de259df831cbd0a280a62c26d8 > files > 24

zorba-2.7.0-2.fc18.i686.rpm

Zorba - The XQuery Processor

version 2.7

New Features:
  * XQuery 3.0 simple map operator http://www.w3.org/TR/xquery-30/#id-map-operator
  * Copy function added to the node module
  * Allow prolog variables to be referenced before they are declared (XQuery 3.0 feature)
  * Module http://www.jsoniq.org/modules/function-library with handy JSONiq functions
  * jn:parse-json can parse multiple top-level JSON items
  * New semantics of null for comparison and arithmetics operations
  * xml:parse (fragment parsing) now allows for a DOCTYPE declaration at the
    beginning of the XML document (requested in bug #1016606).
  * Roundtripping of JSON items has been moved from the serializer to encoding functions.
  * Added uuid to public API.
  * Best-effort serialization of atomic values in JSON items.
  * Positional pagination support for index probes 
  * Recognize the {http://www.zorba-xquery.com/extensions}no-copy pragma to avoid
    copying nodes before insertion into a collection.
  * Added createUntypedAtomic to API's ItemFactory.
  * new xqDoc feature; reporting collections and indexes
  * new xqDoc function parameter to enable/disable xqDoc generation of certain
    components
  * Adding new external module read-pdf, it converts PDF documents to text or rendered images.

Optimizations:
  * Improved memory management for compiler expressions (no more ref counting)
  * Extended optimization rules (for variable inlining/elimination and positional
    predicate rewrite) to general flwor expressions.
  * Early optimization of positional predicates to subsequence expressions: now
    done at translation time, if possible.
  * For non-mutable global variables, assign a type based on their initializing expr.
  * Use char* instead of zstring as the hashmap key in json objects
  * Removed document-order sorting after the index value probe functions.
  * Optimize positional predicates involving inequality (convert them to subsequence)
  * Optimize positional predicate that is in CNF with other predicates.
  * Optimized runtime group iterator based on latest group-by semantics.
  * Removed two unnecessary steps from optimizer.

Bug Fixes/Other Changes:
  * Fixed bug #1006960 (taking construction mode into account during no-copy rule)
  * Fixed bug #950621 (Removed two-arg version of fn:parse-xml(); use XML module
    function xml:parse() instead)
  * Fixed bug #867227 (Improved error message for missing commas)
  * Fixed memory leak during runtime group-by"
  * Fixed bug #1024033 and #1023170 (segfaults in parse-xml:parse())
  * Fixed bug #898792 (Dynamically computed strings can now be cast to xs:QName)
  * Fixed bug in determining the IsId property of constructed attribute nodes
  * Fixed bug #1034990 (text serialization with jsoniq fails)
  * Fixed bugs #899364 and 899363 (throw XQST0103 in case of non-distinct window
    variables)
  * Fixed bug #923686 (implicitly declare global context size and context position
    variables in main module and provide api function to assign values to these
    variables)
  * Fixed bug #899366 (enforce the type declaration of a window variable)
  * Fixed bug #1034942 (improper variable inlining inside general flwor expr)
  * Fixed bug #1024892 (index declaration references udf declared after the index)
  * Fixed bug #1038410 (Memory leaks in parser, trace iterator, and general index)
  * Fixed bug #1046411 (automatic boxing of multi-item sequence appearing as the
    value of an object pair)
  * Fixed bug #1046410 (automatic conversion to null of empty sequence appearing
    as the value of an object pair)
  * Fixed bug #1039488 (inserting more than one pair at once in a JSON object)
  * Fixed bug #1042840 (QName pool free-list corruption)
  * Fixed bug #866984 (better error message for an eval error)
  * Fixed bug #1047538 (SourceFinder::findLocalNodeSources missing json expressions)
  * Fixed bug #932374 (FOTS fn:matches failing tests)
  * Fixed #1052383 (accessing context item in eval expr)
  * Fixed bug #1046559 (dynamic resolution between function invocation and jsoniq
    navigation)
  * Fixed bug #932884 (HTML and XHTML serialization of empty elements)
  * Fixed bug #1046415 (pair name cast to string)
  * Fixed bug #1045902 (file:last-modified returns current date time)
  * Fixed bug #1043976 (compiler warning in serializer code)
  * Fixed bug #866994 (a better error message when collection iterator not open)
  * Fixed bug #1039254 (allow empty sequence as position value in positional LET
    var iterator)


version 2.6

New Features:
  * Include first-class support for JSON data by implementing the JSONiq spec
  - see http://jsoniq.org/ for more information. This feature is enabled by default.
  * Implemented the new EQName syntax (use Q{namespace}local instead of "namespace":local)
  * New function Item::isSeekable for streamable content (xs:string and xs:base64Binary)
  * Implemented the latest W3C specification for the group by clause (backwards incompatible)
  * New ft:tokenize-nodes() function to full-text module
  * New XQuery 3.0 function fn:parse-xml-fragment#1
  * New ItemFactory function that allows creating dateTime items without timezone
  * Added support for transient maps to the
    http://www.zorba-xquery.com/modules/store/data-structures/unordered-map module.
  * Added support for fragments to fn:path
  * Positional pagination support for collections
  * http://www.zorba-xquery.com/modules/archive module for creating,
    reading, and updating various (compressed) archives (e.g. zip, tar.gz,
    or tar.bz2)
  * Incremental maintenance for general indexes
  * New function in the http://www.zorba-xquery.com/modules/store/static/indexes/dml
    module which returns the value of all keys contained in an index

Optimizations:
  * Optimization of comparison operations
  * Tighter hoisting of expressions (also fixes bug #967428)
  * Optimized hash sets used by fn:distinct-values and nodes-distinct
  * Optimized hash function used for nodes (also fixes bug #1010051)
  * Rewrite of plan serializer internals, resulting in big performance improvement
  * Avoid treat expr for checking that the value of a non-external
    global variable conforms to the type declaration of the variable
  * Streaming execution for tumbling windows (also fixes bug #1010051)

Bug Fixes/Other Changes:
  * Fixed bug #1025622 (Incorrect JSON serialization of supplementary plane code points)
  * Fixed bug #1016606 (DOCTYPE in the input of the parse-fragment function)
  * Fixed bug #1002993 (bug during revalidation after update; improper condition
    for calling TypeOps::get_atomic_type_code() from
    SchemaValidatorImpl::isPossibleSimpleContentRevalImpl())
  * Fixed bug #867357 (Improved parser error messages)
  * Fixed bug #1026379 ("q" flag for fn:replace() is ignored)
  * Fixed bug #932314 (non-comparable values must be treated as distinct by
    fn:distinct-values)
  * Fixed bug #1015580 (Add base64_streambuf / replace inefficient base64 code)
  * Fixed bug #1022557 (subsequence function applied on window variable)
  * Fixed bug #9910884 (raise XUST0001 in trycatch with mixed updating and simple clauses)
  * Fixed bug #854506 (ugly type error messages) and partial fix for bug #867008
  * Fixed bug #1008082 (bug in transform expr when a copy var is not used anywhere)
  * Fixed bug #898066 (Stringstream & fn:trace)
  * Fixed numbering of items in fn:trace starts with one
  * Fixed bug #1003023$ (optimizer problems due to common subexpression after
    var folding into if-then-else)
  * Fixed bug #1006166 (disabling 2 functions with the same qname)
  * Fixed bug #960083 (improper error handling of NaN comparisons)
  * Fixed bug #878508 (JsonML serialization not escaping characters)
  * The XML plan serialization format is not supported anymore


version 2.5

New Features:
  * New XQuery 3.0 functions
    - fn:available-environment-variables
    - fn:environment-variables
    - fn:uri-collection
    - fn:unparsed-text
    - fn:unparsed-text-available
    - fn:has-children#0
    - fn:nilled#0
    - fn:path
  * Added base64:decode#2 function which also does transcoding
  * Extended API for Python, Java, PHP and Ruby
  * Added JVM classpath to zorbacmd and to Zorba API
  * Added full-text module
  * Added support for NO_ICU (to not use ICU for unicode processing)
  * Added XQJ support
  * Added CollectionManager and DocumentManager support for XQJ
  * Added new API EntityKind SOME_CONTENT
  * Added new API StreamResource which is able to specify whether a
    stream is seekable or not.
  * Added new functions in the fetch module and the StaticContext to fetch
    resources as binary
  * Added non-core schema-tools module for getting sample XMLSchema from
    XML instances and sample XML instances from XMLSchema.

Optimizations:
  * optimized insertion into a collection (don't copy it if the node was
    created by an element constructor and is not used anywhere else in the query)
  * Fixed performance problem with the findNodeSources function of the no-copy rule

Bug Fixes/Other Changes:
  * Fixed bug #867170 (Variables declared in Prolog are Overwritten inside the query)
  * Fixed bug #1001463 (type not available during computation of function caching)
  * Fixed bug #1002867 (resulting base64 in http-client is wrong)
  * Fixed bugs #905028 (Allow to set base URI to undefined)
  * Fixed bugs #931501 and #866987 (improved error messages for fn:format-number()
  * fn:format-number raises FODF1310 instead of XTDE1310
  * Fixed bug 955170 (Catch clause with URILiteral-based wilcard NameTest)
  * Fixed bug #862971 (no error upon duplicate function declarations)
  * Fixed bug 955135 (err:XQDY0044 not caught by try-catch expressions)
  * Fixed bug #986075 (encountering flwor expr with no clauses)
  * Fixed bug #967864 (var substitution did not update theFreeVars property)
  * Fixed bug #891650 (context size var not always declared within path expr)
  * Fixed bug #948879 (--uri-path doesn't work with fetch:content())
  * Fixed bug in MarkNodeCopyProps rule (static cast to replace_expr without chaing the expr kind first)  
  * Fixed bug in window iterator (binding the end vars in the output tuple stream)
  * Fixed bug #866547 (protect index-join rule from general flwor)
  * Fixed bug #867253 (cdml:delete-nodes should only remove root nodes)
  * Fixed bug #967428 (do not hoist index creation outside a try-catch)
  * Fixed bug #872234 (prevent a rewritting to take place in case of sequential expr)
  * Fixed bug #966706 (key uniqueness of index not enforced during incremental refresh)
  * Fixed bug #906494 (default compile with D_FILE_OFFSET_BITS=64)
  * Fixed bug #988412 (date:current-dateTime daylight saving)
  * Fixed bug #912586, #912593 and #912722 (assertion failures with lax validation)
  * Fixed bug #986377 (do not apply any updates on collection if it is to be truncated)
  * Fixed bug #921458 (file:read-text-lines() blocking)
  * Fixed bug #981405 (do not hoist expr containing try-catch variables out of the associated try-catch expression)
  * Fixed bug #996084 (crash in Streamable*Item with file module)
  * Fixed bug #947627 (throw XQST0099 if more than one declarations of context item type in same module)
  * Fixed bug #980526 (no-copy rule bug due to global var being set in "distant" udf)
  * Fixed bug #949910 (has-children may be invoked on all nodes)
  * Fixed Bug #933490 (Error ItemFactoryImpl::createBase64Binary with istream)
  * Fixed bug #867112 (Diagnostic Handler was not working on external APIs)
  * Fixed bug #857842 (Assertion failed with simple content element with comments)
  * Fixed bug #928626 (no setting classpath in xsl-fo module)

version 2.2

New Features:
  * Add --compile-plan (-c) and --execute-plan (-e) options to zorba command line.
  * Add XQuery 3.0 concat operator (http://www.w3.org/TR/xquery-30/#id-string-concat-expr) 
  * New URI module providing percent-decoding functions.
  * The core parse-xml module is now able to parse input files in a streaming mode. A number of new options have also been added.
  * LibXml2 version 2.7.0 or higher is now required in order to build Zorba.  
  * Added index management function to the C++ api's StaticCollectionManager.
  * Added createDayTimeDuration, createYearMonthDuration, createDocumentNode, createCommentNode, createPiNode to api's ItemFactory.
  * Fixed bug #905050 (setting and getting the context item type via the c++ api).
  * Added split function to the string module that allows for streamable tokenization but doesn't have regular expression
  * Add new XQuery interface for the PHP bindings.
  * Added two API methods StaticContext::getFunctions to introspect the functions of a static context
  * Added API method Item::getNamespaceBindings().
  * Added a transcoding streambuffer to the API which allows transcoding arbitrary encodings
    from and to UTF-8
  * file:read-text is able to handle arbitrary encodings (fixes bug #867159)
  * http:send-request is able to handle arbitrary encodings
  * Added API method StaticContext::getNamespaceBindings() (see bug #905035)
  * New version of the JSON converter module in the core of Zorba (no external dependencies anymore)
  * Added truncate function to the collection modules for efficient deletion of all nodes in a collection.


Optimization:
  * No-copy optimization: avoids copying nodes during node-constructor expressions.
  * Added external function annotations %ann:propagates-input-nodes and 
    %ann:must-copy-input-nodes to be used by the no-copy optimization.
  * Caching of results for recursive functions with atomic parameter and return types.
  * Added %ann:cache and %ann:no-cache to enable or disable caching of results of functions with atomic parameter and return types.
  * Types-related optimizations for runtime operators (comparisons, FnBoolean, Or, And,
    Compare, instance-of, cast, castable, treat, promote).
  * More efficient implementation for base64Binary items
  * Preallocate and reuse temp sequence iterator for LetVarITerator
    and CtxVarIterator.
  * Enhanced push-down of positional predicate into LetVarITerator
    and CtxVarIterator.
  * Change the implementation of the free-vars annotation and got rid
    of the annotations map in expressions.

Bug Fixes/Other Changes:
  * Fixed bug 923015 (clone() not implemented for full-text expressions)
  * Fixed bug 917923 (bug in copying outer var values into the eval dynamic context)
  * Fixed bug 867509 (Can not handle largest xs:unsignedLong values)
  * Fixed bug 924063 (sentence is incorrectly incremented when token characters end without sentence terminator)
  * Fixed bug 909126 (bug in cloning of var_expr)
  * Fixed bug 928631 (external builtin function were not executed in the module they
    were declared)
  * Fixed bug in destruction of exit_catcher_expr
  * Fixed bug #867024 (error messages)
  * Fixed bug #957580 (stream read failure in StringToCodepointsIteartor)
  * Fixed bug #911585 (management of variables during eval)
  * Fixed bug #866423 (fn:empty and fn:exists iterators must reset their input in
    case of early-out)
  * Fixed bug #955574 (http-client "hangs" if following a POST request)
  * Fixed bug #945241 (StaticCollectionManager::declaredIndexes() and temporary indexes)
  * Fixed bug #872288 (reset recursive flag during node rename)
  * Fixed bug #905041 (allow for the default element and function namespaces to be
    set multiple times via the c++ api).
  * Fixed bug #907872 (segfault when returning an input ItemSequence from an external function).
  * Fixed bug in codegen: do not create a materialize clause if one exists already
    support.
  * Fixed bug involving positional var and groupby 
  * Fixed bug #867266 (do not hoist updating expressions)
  * Fixed bug #867022 (added location and params to some XPTY0004 errors)
  * zerr is not predeclared anymore to be http://www.zorba-xquery.com/errors
  * Fixed bug #917981 (disallow declaring same module twice).
  * Deprecated StaticContext:getNamespaceURIByPrefix()
  * Fixed bug #943788 (streamable string is not seekable)
  * Fixed bug #921624 (slow queries with bogus example.com schema URIs)
  * Fixed bug #918211 (xqueryx fulltext w3c conformance generation)
  * Fixed bug #918157 (Add XQFTTS to validation queue)
  * Fixed bug with unversioned modules with C++ external functions
  * Fixed bug #912579 (validate-in-place on non-root elements)
  * Fixed bug #891209 (validation with xsi:type returns untyped)
  * Fixed bug #952829 (Nondeterministic annotation doesn't seem to be checked)
  * Fixed bug #951772 (Comment node crashes serialization)
  * Fixed bug #945241 (StaticCollectionManager::declaredIndexes() and temporary indexes)

	
version 2.1

New Features:
  * New node-position module. This module allows to obtain a representation of a node position, which
    can be used to assess structural relationships with other nodes.
  * New node-reference module. References can be obtained for any node, and
	different nodes cannot have the same identifier.
  * Custom Full-text thesaurus using Zorba URI resolver mechanism.
  * Modified C++ API to add isSequential, getExternalVariables, isBoundContextItem and 
  isBoundExternalVariable Functions
  * Collection allows to retrieve information about the type
  and the annotations of a static collection.
  * Implemented the probe-index-range-value for general indexes
  * Added ExternalFunctionParameter class to be registered in the DynamicContext
  * New module for compiling and executing XQueries from XQuery (xqxq)
  * External functions are allowed to be updating (i.e. return a pending update list)

Optimization:
  * Optimization for positioned sequence access (e.g. $x[$x[1]] where $x is a
  sequence of integers)
  * Optimization for count(collection()) expressions
  * Optimization of the fn:substring function in the case when its $start and $length arguments
  are integers

Bug Fixes/Other Changes:
  * Fixed bug #3403291 (build for Fedora 15)
  * Fixed bug #3397293 (Incorrect XQueryX error message)
  * Fixed bug #3398637 (Nested element constructors cause loss of namespace bindings)
  * Fixed bug #3401592 (Undo of Create Collection doesn't work)
  * Fixed bug #3404689 (assignment problem in flwor)
  * Fix for bug #3404450 (testdriver_mt problem: caching and validation of docs)
  * Fixed installation bug to not install the .so for test modules
  * Fixed bug #3390410 (Adding a node to a collection causes out of bound in vector)
  * Fixed bug #3406200 (node types were not being moved to new tree during node detach)
  * Fixed bug #3406191 (Namespace bindings lost after update due to bug in node detach)
  * Fixed bug #3290122 (ZDST0003 needs collection name)
  * Fixed bug #3406272 (merging of adjacent text nodes must be done after all
    updates have been applied).
  * Don't raise warnings for unknown annotations.
  * Fixed bug #3409344 (during detach, if the node being detached is the root of
    its tree, it should be detached from the tree as well; otherwise memory
    corruption will occur)
  * Fixed bug # (Should not destroy the parent of a node that is being detached
    before the detach is done).
  * Added const qualifier to StaticContext::getAuditEvent() 
  * Fixed bug #3408181 (available-collection() returns undeclared collections)
  * Fixed bug #859465 (Fatal error if a PUL contains two deactivate IC primitives)
  * Fixed bug #859467 (Fatal error if a PUL contains two activate Foreign Key primitives)
  * Fixed bug #859468 (Fatal error if a PUL contains two activate Simple IC primitives)
  * Fixed bug #859522 (Fatal error if a PUL contains two delete document primitives)
  * Fixed bug #859968 (Using put on an attribute produces an invalid XDM instance and may cause segmentation faults)
  * Fixed bug #855314 (should not fold a constant expr that returns an error item)
  * Fixed bug when parsing a document with a base-uri attribute.
  * Fixed bug #863320 (Sentence is incorrectly incremented when token characters end without sentence terminator)
  * Fixed bug #863730 (static delete-node* functions don't raise ZDDY0012)
  * Implemented the probe-index-range-value for general indexes
  * Removed ZSTR0005 and ZSTR0006 error codes
  * Fixed bug #867662 ("nullptr" warning)
  * Fixed bug #868258 (Assertion failure with two delete collection)
  * Fixed bug #871623 and #871629 (assertion failures with insertions in dynamic collections)
  * Fixed bug #867262 (allow reuse of iterator over ExtFuncArgItemSequence)
  * Fixed bug #869024 (segmentation fault with node-reference)
  * Fixed bug #869025 (segmentation fault with node-reference)
  * New node-reference module. References can be obtained for any node, and
	different nodes cannot have the same identifier.
  * Fixed bug #872697  (segmentation fault with validation of NMTOKENS)
  * General index cannot be declared as unique if the type of its key is
    xs:anyAtomicType or xs:untypedAtomic.
  * Added undo for node revalidation
  * Optimization for count(collection()) expressions
  * Fixed bug #872796  (validate-in-place can interfere with other update primitives)
  * Fixed bug #872799 (validate-in-place can set incorrect types)
  * Fixed bug #855715 (Invalid escaped characters in regex not caught)
  * Fixed bug #868325 (fn:analyze-string fails with some recursive subgroups)
  * Fixed bug #872697 (segmentation fault with validation of NMTOKENS)
  * General index cannot be declared as unique if the type of its key is
  xs:anyAtomicType or xs:untypedAtomic.
  * Added undo for node revalidation
  * Optimization for count(collection()) expressions
  * Fixed bug #867133 (SWIG PHP build failure on Mac OSX)
  * Fixed bug #872796 (validate-in-place can interfere with other update primitives)
  * Fixed bug #872799 (validate-in-place can set incorrect types)
  * Fixed bug #872850 (Serialization of Tumbling Window For fails)
  * Fixed bug #855715 (Invalid escaped characters in regex not caught)
  * Fixed bug #862089 (Split binary/xq install directories for modules) by
  splitting "module path" into separate URI and Library paths
  * New node-position module. This module allows to obtain a representation of a node position, which
    can be used to assess structural relationships with other nodes.   
  * Fixed bug #872502 (validation of the JSON module xqdoc fails)
  * Fixed bug #897619 (testdriver_mt can not run the XQueryX tests)
  * Fixed bug #867107 (xqdoc dependency to zorba is wrong)
  * Fixed bug #897616 (Fix the generation of the XQFTTS report results for
  W3C)

version 2.0.3
  * Fixed bug #867662 ("nullptr" warning)
  * documentation improvements

version 2.0.2
  * Fixed bug #3401971 (node-by-reference on dynamic collections)
  * documentation improvements
  * installer improvements
  * Fixed bug #3403291 (build for Fedora 15)
  * Don't install the .so for test modules
  * Fix for running ctest on Windows

version 2.0.1

  * Custom Full-text stemming.
  * Custom Full-text tokenization.
  * Fixed scripting bug where apply statement was considered a sequential expr even if the source expr was non-updating and non-sequential.
  * Fixed bug #3394400 (Element replacement, really unexpected result)
  * Fixed bug #3394588 (Unexpected error during pul undo)
  * Fixed bugs #3398511 and #3398552 with "make install"
  * Fixed bug #3398521 for compiling with ZORBA_NO_XMLSCHEMA

version 2.0
  * Zorba 2.0 is a major rewrite of previous versions. It doesn't claim to
    preserve backwards compatibility with any 1.X version.
    Host language API changes have been made to the following components:
    - External functions API
    - XmlDataManager
    - Error reporting
    - Debugger API
    XQuery language and API changes have been made to the following components:
    - XQuery Scripting Extension
    - Function APIs
    - XQuery Data Definition Facility
    - XQuery modules and module versioning
    - Changes to conform with the latest XQuery 3.0
    - Namespaces of annotations, errors, collations.
  * In addition to host language API and XQuery language improvements,
    plenty of bug fixes and optimizations have been made.

version 1.4
  * added a datetime library module with nondeterministic functions
  * new nondeterministic read functions in the http-client module
  * the http-client's send-request function accepts a non-validated request parameter
  * fixed an issue with a wrong static context being used in eval queries (see bug item #2979317)
  * added XQuery 1.1 Switch expressions (only available in 1.1 processing mode)
  * added the fn:parse function from XQuery Functions and Operators 1.1
  * improved error reporting for parser errors
  * improved error reporting for errors regarding sequential expressions
  * bug fixes
    - accept relative URIs in xs:anyURI constructors (#2988209)
    - direct element/attribute construction (#2999765)
    - deep-equal (#2999772)
    - schema-attribute(*) is parsed as a function call instead of a node test (#2993286)
    - handling xml:base attributes during doc loading (#3013096)
    - fixed build with CMake 2.6.0 on Debian Lenny
    - try-catch error if XQuery version < 1.1 (#3005344)
    - W3C test suite bugs CastableAs649 and CastableAs650 (#2999777)
    - assertion in StatelessExtFunctionCallIterator (#3012651)
    - http-client return type handling for (*+xml and text/html)
  * optimization of fn:subsequence
  * new xqDoc function (xqdoc-content) taking a documented module as string
  * new xqDoc feature; reporting functions invoked from within a particular function
  * xqDoc schema change; name element for functions got an arity attribute
  * added a tidy library module that provides functions to tidy an HTML string
    and returns a valid XHTML document node (http://www.zorba-xquery.com/modules/tidy)
  * added a schema library module that provides XML schema related functions (e.g. schema-type)
    (http://www.zorba-xquery.com/modules/schema)
  * added a node reference library module that provides functions to retrieve the URI
    of a node and vice versa (http://www.zorba-xquery.com/modules/reference)
  * added a hmac module (http://www.zorba-xquery.com/modules/security/hmac)
    that provides an sha1 function (e.g. used in OAuth)
  * added a random module (http://www.zorba-xquery.com/modules/random)
    that provides fuctions for generating (pseudo-)random integers and UUIDs.

version 1.2
  * more introspection functions (e.g. in-scope-element and in-scope-attribute)
  * first prototype for higher order functions from XQuery 1.1
  * JSON module in (com/zorba-xquery/www/modules/json)
  * huge performance improvements
  * added an Atom schema to the build-in schemas
  * register a callback function in the static context that is called
    if a collection or index declaration is processed (compiled)
  * nondeterministic (instead of sequential) functions in the file module
  * reference counting the store (de)initialization
  * many bug fixes; for example
    - compile with Xerces 3.1
    - loading external functions (prefix problem)
    - plan serializer fixes
    - serialization fixes
    - base64 decoder
    - loading documents with general entities
    - EXPATH http-client fixes
    - not hoisting nondeterministic functions
    - scripting related fixes
    - unicode related fixes (e.g. for parameters to the doc function)
    - StaticContext::loadProlog fix
    - SAX serialization fix

version 1.0
  * Changes in the C++ API
    * Removed ResultIterator class. All public API methods use simply
      Iterator.
    * Added a new class named ExternalModule.
      This class must be used for registering external functions.
      This change makes the external function API incompatible with
      previous releases.
    * Loading pre-compiled queries (using loadExecutionPlan) requires to pass
      a SerializationCallback which is used for
      retrieving registered uri resolvers or trace streams.
      Moreover, the callback is used for retrieving ExternalModules
      which have been used when compiling the query.
    * Changed the append function in zorba::String to const. Now, the
      function does not change the String itself, but returns a new
      String. Furgthermore zorba::String::append can now handle other
      zorba::String objects - not only const char*. Also the operators
      + and += are defined on zorba::String.
  * Other language bindings (Java, PHP, python, ruby) also now use
    simply Iterator; ResultIterator removed.
  * XQC (C language binding) brought up-to-date with latest revision
    of that spec (https://xqc.sourceforge.net).
  * Resolving of modules is now enhanced by the so called "Zorba
    Module Path".  Moreover, multiple ModuleURIResolvers can be
    registered in one StaticContext.  See the documentation for more
    information.
  * Added static and dynamic context introspection modules.
  * Added the excel library to the built-in modules.
    Implemented the most used excel functions.
  * Added the math library to the built-in modules (the namespace has
    changed to http://www.zorba-xquery.com/modules/math)
  * Pass the Static- and DynamicContext as parameter to the evaluate function
    of external functions.
  * The XQuery class got a setTimeout option that allows the user to set a 
    maximum running time of a particular query execution.
  * The StatelessExternalFunction is now non-pure by default. There is
    a new subclass called PureStatelessExternalFunction which should
    be used instead. PureStatelessExternalFunctions don't have access
    to the Static- and DynamicContext.
  * Renamed XQuery::serialize to XQuery::execute. The new method also
    implements the functionality of the XQuery::applyUpdates method
    (which was removed).
  * Added the serialize library to the built-in modules. The function
    util:serialize-to-string has been removed.
  * The DynamicContext can be used to pass arbitrary name-value pairs
    to the evaluate method of external functions.
  * Implemented CSV to XML converters. See csv2xml.xq module.
    You can convert back and forth between CSV files and XML
    or formated text files and XML.
  * Changes in the email functionnality
    * implemented smtp:send functions as external functions
    * added support for MIME messages (Text in character sets other
      than ASCII, Non-text attachments, Message bodies with multiple
      parts, Header information in non-ASCII character sets)
  * most of the runtime iterators and functions are generated
    (see https://sourceforge.net/apps/mediawiki/zorba/index.php?title=Creating_New_Runtime_Iterators_and_Functions)
  * improved exception messages raised by the serializer
  * Json is now able to parse Unicode messages
  * improved functionality for java, php, python and ruby bindings.

version 0.9.8-rev1 (2009.09.22)
  * bug fixes
    * fixed a crash caused by converting long integers (> 1024 digits)
      to string
    * the compile-only check reports the URI of the encapsulating
      entity in it's error report (used for XQDT semantic checking)
    * fixed 'for $x in () return $x/test' to return the empty sequence
      instead of raising a static error
    * fixed build using Xerces-C 3.0.1
    * fixed build for Mac OS X 10.6 (Snow Leopard)
    * improved error reporting in the command line utility
    * improved detection of the installed version of Xerces-C (raise
      an error if a wrong version is installed)

version 0.9.8 (2009.08.26)
  * More XQuery Scripting Features
    * default initialization for external variables
    * block local variables
  * XQuery 1.1
    * Support for the "validation as TypeName" feature
    * Changed the try/catch syntax as specified in XQuery 1.1 (except
      the try- and catch expressions are ExprSingle and not Expr).
  * Examples for the Java API
  * Function library
  * creating PDFs using XSL Formatting Objects (requires Java)
  * util:parse function
  * converter functions to/from JSON or JsonML and XML
  * function for sending simple text emails
  * the util:tidy function returns a node instead of a string.
  * XQDoc module http://www.zorba-xquery.com/zorba/xqdoc-functions
  * Added a loadProlog function to the static context.
  * Added support for XQueryX and XQueryX Update
  * Added compiled query persistence to the C++ API
    (XQuery::loadExecutionPlan() and XQuery::saveExecutionPlan())
  * Added a printPlan function to the XQuery class of the API.
  * Added new option in the Zorba command line utility: compile-only,
    parse-only, lib-module, print-errors-as-xml.
  * Added two plan printing function (printPlanAsXML and
    printPlanAsDOT) to the SWIG generated APIs.
  * Implemented 'declare option': options are set in the static context.
  * fn:trace can be disabled by setting the option
    QName("http://www.zorba-xquery.org/option", "trace") to "disable".
  * Changed the scripting syntax of the exit expression from 'exit
    with' to 'exit returning'.This is due to an ambiguity in the
    grammar (see http://www.w3.org/Bugs/Public/show_bug.cgi?id=6852
    for more information).
  * Added accessor functions for node items to the Item class in the
    API (i.e. getChildren, getAttributes, and getNodeName).
  * Added a UserException to the API which is raised if the user makes
    a call to the fn:error function.
  * UTF8 support for the lexer
  * bug fixes and performance improvements

version 0.9.5 (2008.02.17)
  * Unified the Tidy and Rest API's
  * Added new sinatures to zorba-util:tidy and zorba-util:tdoc that
    allow setting of tidy functions
  * Added Schema imports using target namespace or location hints
  * Added StaticContext::findFunctions and StaticContext::disableFunciton
  * Added Functions for collections 
  * Windows packages include a zorba_simplestore.dll
  * Improved error messages for regular expression processing
  * Added functions to return an item instead of xs:string
  * Added a new signature to zorba-util:random in order to be able to call
    random within a loop and get different numbers each time.
  * Corrected the types of some functions/operators (YM_DURATION or 
    DT_DURATION instead of DURATION).
  * Now possible to pass empty sequence as collection URI.
  * Now cURL is set to follow an infinite number of redirects.
  * Added validate after update
  * Fixed schema files without target namespace.
  * Fixed notation cast.
  * Added list and union item types to type manager cache
  * Added validation tests for schema substitution groups
  * Added message when error during update test driver.
  * Added partial support for scripting (XQSE)
  * Added support "default element namespace" schema imports
  * Added support variable initializers that refer to forward variable
    declarations.
  * Various bug fixes and performance enhancements.

version 0.9.4 (2008.10.06)
  * added General FLWOR (GFLWOR)
    * added Windowing functionality
    * added ability to perform "outer" joins in the FLWOR with outer
      for clauses
    * output numbering added to FLWOR
  * Added HTTP support to module import
  * fn:parse() is implemented as per the XQuery proposal
  * Extended api to register user-defined URI resolvers for documents,
    collections, schemas, and modules
  * boost dependencies removed
  * Added xquery debugging support
  * Added a store implementation based on Windows DOM.
  * Added functions to make calls to REST based web services through XQuery
  * Added PHP bindings to zorba
  * Added tidy support to convert web pages into xhtml.
  * Added XML Schema support for validation
  * Added the ability to revalidate XML data with respect to a Schema
    after applying updates

version 0.9.21-4303 (2008.06.26):
  * fixed installation problem for python and ruby language bindings
  * fixed some valgrind reported memory problems
  * other minor bug fixes and performance improvements

version 0.9.2-4251 (2008.06.19):
  * Module support (as in the XQuery 1.0 W3C recommendation)
  * Removed boost shared pointers from the API
  * Performance improvements and bug fixes
  * C API (zorbac.h)
  * Rudimentary SWIG interface for generating other language bindings
    (i.e. Ruby and Python)
  * Added support for running multiple queries in the command line utility
  * group by (as in the evolving W3C XQuery 1.1 recommendation)
  * try-catch (as in the evolving W3C recommendation)
  * eval facility to dynamically evaluate a string and execute it as a query
  * some math functions (e.g. sqrt, sin, cos, etc)
  * Basic schema validation (without post schema validation and
    substitution groups)
  * Stabilized the Store API & build the simplestore as a separate library

version 0.9.1 (2008.04.30):
  * Initial release supporting 
    * XQuery 1.0 and XPath 2.0 (as in the W3C recommendation) 
      except modules and only limited support for schema validation
    * XQuery Update Facility 1.0 (as in the evolving W3C recommendation)
    * An In-Memory (replaceable) XML store 
      (implements the XQuery Data Model (XDM) W3C recommendation)
  * This release 0.9 passes 97.6% of the W3C tests of XQuery 1.0 test suite
    and 99.4% of the XQuery Update Facility test suite.