Login
showWiki Markup Help
December 16 2007

ChangeLog 1.2

Posted by wolf at 16:31; Wiki ID: ChangeLog12
  • Fixed in-memory DOM tree construction bug: in some very specific cases, constructed nodes were skipped during serialization and did not show up in the output.
  • Bug fix: cached password for remote XMLDB API connection is not properly reset after a user's password was changed.
  • On db shutdown, properly unregister all JMX MBeans.
  • XInclude filter: properly implement xi:fallback.
  • Fixed XPath bug: for some descendant-axis queries on nested elements, duplicate nodes were not filtered out properly. The query engine returned duplicate results.
  • Prevented NPE's in ant tasks.
  • reading collection.xconf is now fail safe. Errors in the configuration document will not cause an exception.
  • Temporary workaround for bug 1807744 "Invalid collection.xconf causes a non startable database"
  • New functions util:node-xpath() gives you the xpath of a node, attributes in the hierarchy are converted to predicates
  • Fix 1810285 NPE in bad-formed module URI
  • Fixed 1844921 NPE upon update delete of root element
  • Fixed namespace issue: in-scope namespace declarations were not properly visible to functions located in other modules.
  • Enhanced rendering of XQuery Function Documentation.
  • Clean up SAXSerializer instances before returning them to the pool.
  • Fixed concurrency issue: built-in XQuery modules
  • Fixed base-uri() call on document node causing a class cast exception
  • Fixed locking issue where permission exception caused lock on collection not to be released.
  • Build jmx extensions into extra jar lib/extensions/exist-jmx.jar.
  • Fixed the HistoryTrigger
  • Applied patch 1775400 supplied by Michael Westbay
  • Fixed deficiencies in computed document constructors : they should allow nested document constructors
  • Fixed chmod/chown implementation
  • Added function ngram:highlight.
  • Applied 1792515 Get collection cache size for Cache stats; patch by Gary Larsen
  • Applied patch 1830423 Fix adminClient's dialog gridBag resizing ; Kindly contributed by Avagvwctopoulos Koctis (sperxios)
  • Use launch4j to generate a native windows .exe wrapper around the generated installer. Without this, eXist will not install properly on windows vista.
  • Applied patch #1824991, webdav lock operation does not meet RFC4918 requirements, supplied by Brad Clements.
  • Updated log4j to 2.1.15
  • Catch NPE in NativeBroker.getTextSearchEngine and log a warning.
  • Fixed parser bug (ignoring whitspace)
  • Fixed another positional predicate bug
  • Fixed NPEs if request/response/session object is not in scope and a function is called
  • Fixed a bug in fn:lang()
  • Fixed: <exist:match> tags lost during ancestor or parent path steps.
  • Fixes for various issues which improved XQTS results a lot.
  • Updated system:shutdown() uses the user in the current xquery context
  • Added RedirectorServlet as a different, maybe more powerful mechanism to redirect HTTP requests.
  • Added some missing HTTP request functions: request:get-context-path() request:get-path-info() request:get-attribute()
  • Removed xmldb:collection() passing a Java Collection Object
  • Libraries from lib/extensions need to be copied into the war distribution as well.
  • Split of modules into seperate jars, and moved all modules to lib/extensions
  • Fixed bugs in fn:document-uri()
  • Fixed XQTS test base-URI-18 regression
  • Fixed xs:anyURI construction bug.
  • Fixed: Another NGram bug fix: matches were not tagged if the query result was included into a constructed node.
  • Fix for 1807408 NPE in xmldb:last-modified()
  • Added xsl-fo extension module
  • Applied 1792544 Patch to fix NPE in CollectionCache on startup
  • Applied 1796323 NPE in CollectionCache on startup
  • Don't approximate in seconds-from-duration()
  • Fix for 1806901 Double default namespace
  • Added function util:string-to-binary, which encodes a string into a value of type xs:base64Binary.
  • Clean up of loged SAXParseExceptions.
  • Validation is now configurable per collection, just like range indexes.
  • Validation: Added namespace of root element of parsed document to validation report.
  • Fixed a BTree bug which led to stack overflows. It seems this could have caused db corruptions in some cases.
  • Added new function util:parse-html, which uses the neko HTML parser to parse an HTML string into well-formed XML.
  • Small modifications in function httpclient:post() to avoid another NullPointerException.
  • Fixed NullPointerException in DocumentImpl.
  • Added function util:parse(xs:string?) to parse a string value into an XML fragment.
  • webDAV: extended DAV header: webdav version 1 and 2 are now reported, OPTIONS: added method DELETE, COPY, MOVE
  • Fixed ConcurrentModificationException in Collection, which was leading to a deadlock.
  • Extended logging regarding webdav.
  • Fixed NPE during shutdown.
  • Misc validation improvements
  • validation:validate-report() will have extra attribute 'repeat' when error message is reported more than once
  • Fixed: executing query the first time included all documents in the database, though it was executed in the context of a single collection.
  • Fixed bug 1691177 leading to "attribute X has no parent" error.
  • Fixed bug 1691177 leading to "attribute X has no parent" error.
  • Introduced FODC0002 error in fn:collection().
  • Introduced a new util:get-sequence-type() function that will be needed by the XQTS app.
  • Deprecated fn:xcollection() in favour of xmldb:xcollection().
  • Deprecated fn:document() in favour of xmldb:document().
  • Improve performance of CollectionConfigurationManager by replacing XmldbURI with CollectionURI.
  • Fixed 1787285 Wrong illegal type error message
  • Fixed locking issue: collection was modified without being locked.
  • Major redesign with respect to collection configurations (to fix an existing memory leak)
  • Fixed remaining bugs in in-scope-prefixes() and namespace-uri()
  • Fixed 'string' cast as xs:anyAtomicType
  • Improved fn:nilled() which now passes all the XQTS tests.
  • Experimental: added a "exist:no-index" pragma which can be used to force eXist to not use the structural index to select nodes.
  • Applying SF Patch 1768921 - fix for SQL Extension module for properly closing JDBC connections, recordsets and statements.
  • More deadlock issues fixed. Better deadlock detection: identifies circular wait dependencies and throws a DeadlockException if automatic resolution is not possible.
  • xmldiff:compare() extended to append fragments of different node types.
  • Update for webdav inferface: fixed NPE for UNLOCK method, MacOsX fix: allow storage of 0 byte XML documents (xml place holder)
  • Added NGram functions ngram:starts-with and ngram:ends-with.
  • Corrected free memory computation: reserve at least 20% of the max. memory for emergency.
  • Applied 1693414 New function: Deep-Copy ; Scott Warren - ocomsoft
  • Partly implemented 1576530 propose borrowing Ant's patch.xml and check.xml
  • Applied 1557095 LDAP passwords patch ; Submitted By andrewuwe
  • Applied patch 1650011 Control number of backup files ; Submitted By: Gary Larsen
  • Applied 1754435 Fix for validation against Schemas using a namespace
  • Fixed potential ArrayIndexOutOfBounds exception.
  • Permit storage of binary resources using xs:base64Binary
  • Webdav-html page: binary file size are rounded
  • Fix for webdav ; collections now browseable again for webbrowsers (http://localhost:8080/exist/webdav/db)
  • Another deadlock fix: detect and handle a circular wait on different resources.
  • Fixed 1754404 URL Handler shows ERROR in log, but works OK
  • Multiple grammar catalogs should be allowed for validation
  • Fix for WebDAV: webdav interface can now be mounted my MacOsX 'Finder'.
  • Added compression module : compression:zip()
  • Redesigned exist startup scripts (.sh .bat)
  • Added JMX agent to eXist.
  • Another deadlock fix: XPathQueryService.beginProtected/endProtected need to reserve a DBBroker between the two calls.
  • Validation of XML using DTD's fail when using the XMLgrammarPool. Seem to be a xerces issue. added workaround
  • Fixed bug 1687079: "Extension module namespaces missing".
  • Fixed bug 1683636: "util:eval() fails on function in module". Imported modules are now visible within the eval() function.
  • Applied patch 1739796: REST server patch for text/html mimetype
  • Fixed bug 1740891: util:eval() looses its context. ModuleContext needs to overwrite XQueryContext.copyContext.
  • Fixed bug 1740880: Element construction with namespace
  • Fixed bug 1740885: ne operator does not work.
  • Validation: implicit/explicit validation share grammar caching
  • Fixed deadlock issues
  • Fixed: NodePool grew without bounds, thus causing memory issues after a while.
  • Made validation report more usable
  • Further updates to the SOAPServer to provide better interoperability
  • Added new extension package org.exist.fluent, an API for databases running in embedded mode that takes advantage of Java 5.0 features.
  • Committing patches by José María Fernández, add's RPC encoded style alongside document literal style.
  • Added indexes: N-gram and Spatial
  • Fixed NPE in serializer.
  • validation:validate() functions now accept xs:anyURI instead of xs:string less convenient, butter better to the specs
  • Deadlock conditions found and fixed.
  • Revision of validation function. A year of work.... promised in Prague (2006)
  • Fixed long standing issue regarding validation:grammar-cache-show() and validation:grammar-cache-clear();
  • Fixed doc(xs:anyURI("http://xml.ascc.net/test/wf/utf-8/application_xml/zh-utf8-0.xml"))
  • Do not enforce XPath 1.0 compatibility.
  • Fixed an NPE on the resolver.
  • Fixed two major flaws in our implementation of document locks.
  • Fixed: min() and max() can not operate on QNames
  • Fixed 1715035 "<" and ">" are escaped in comments
  • Fixed 1694080 NPE in client index tool
  • Fixed 1711404 Incorrect filename displayed in status ; patch by Gary Larsen
  • Added implementation of custom protocol handler for xmldb:exist:// ;
  • Added: Classes that implement a ring buffer. To be used by upcoming xml validation features and exist protocol handler.
  • webdav: Fixed locking issue in webdav/MKCOL
  • Fix 1694878 Webstart: missing sTax jar
  • New HTTPModule.
  • Added "add-exist-id=element|all|none" to the available serialization options. T
  • Repaired unwanted dependency with org.apache.commons.pool.PoolableObjectFactory (caused NoClassDefFoundError for OxygenXml).
  • fn:distinct-values() now uses ValueComparison as per the specs
  • Fixed XQuery bug: optimized path step on descendant axis sometimes ignored child nodes! Example: //adescendant::b = "c" where b is a child of a.
  • Upgrade to ant 1.7.0, 4.x and xmlunit 1.1
  • Added fn:default-collation()
  • Implement fn:encode-for-uri() according to the specs.
  • Fixed ClassCastExceptions.
  • Fixed possible memory leak in optimizable expressions.
  • Added an option to disable/enable optimizations at runtime: declare option exist:optimize "enable=yes|no";
  • The exist:optimize pragma now also understands an optional "enable" parameter: //((#exist:optimize enable=no#) { foobar = '...' })
  • Fixed issue with globally declared variables.
  • Small change in XmldbURI to avoid creating URIs too frequently.
  • Installer: ask for admin Password
  • Fixed performance leak: expressions like /nodeA//nodeB were extremely slow.
  • Changed XInclude to be compliant with the specs.
  • Fixed bug in XQuery lexer
  • Handle these corner test cases : fn:contains((),"") fn:ends-with((),"") fn:starts-with((),"")
  • Fixed return type of String-derived atomic values.
  • Binary storage format changed!!!!
  • Low-level changes in the B+tree code: use prefix compression for keys stored in leaf pages.
  • Better processing of return type in avg() and sum()
  • Missing EXIST_HOME causes some tests to fail.
  • Fixed: range indexes were not properly updated after removing a node.
  • Image: added image:get-metadata()
  • Fixed lack of timezone in gMonth string value.
  • Fixed: XQuery parser complained about "in" as element name: <root><in>foo</in></root>.
  • Made base-uri() consistent between in-memory and persistent nodes.
  • Fixed client to work in headless mode again
  • XUpdate performance improvments.
  • New: Modularized indexing architecture.
  • Added new function, fn:dateTime()
  • When executing a query via the REST interface, the base URI property of the query should be set to the collection path specified in the query.
  • Register stax-api-1.0.1.jar which is required by all Java versions < 1.6
  • Implemented java.xml.stream.XMLStreamReader for fast DOM traversals in embedded mode.
  • Fixed 1656026 Startup scripts fail under solaris
  • Applied patch by Christian Salm: NPE in NativeBroker when recovery is turned off.
  • Fixed 1655444 left hand operand of a general comparison involves nodes that do not belong to the context sequence's document set.
  • Optimize now works on multi-predicate expressions
  • Fixed: the SOAP interface refused to accept any query containing an ampersand, e.g. //foo. &= 'bar & baz'
  • Optimize fn:matches.
  • Applied patch 1597055 users' groups eXtensions by Massimo Martinelli, Marco Tampucci, and Ovidio Salvetti
  • Updated Java service wrapper.jar to version 3.2.3.
  • Set HTTP status if XQuery source file could not be found.
  • New combined range index on named element or attribute.
  • Added util:uuid() generator, Updated webdav and atom code to use new UUIDgen classes.
  • Fixed: resolver.jar not found by Cocoon-block build.
  • We only need one Base64 encoder/decoder in eXist. Favour org.exist.util.Base64Encoder
  • Fixed util:random function without argument (used to throw ArrayIndexOutOfBounds).
  • During backup, ignore already existing contents.xml files in the database.
  • Fixed NPE in fulltext query.
  • Fixed: the xmlrpc interface (via methods upload/parseLocal) changed the mime-type of a resource to application/octet-stream if it could not determine the mime-type from the file name.
  • Image: Added a scale() function.
  • Applied patch: 1629038 Search classpath for eXist's home
  • Applied patches (16289750/1628975) Ststaus generator; by Gary Larsen -1628981 Cache usage info for StatusGenerator Displays stats and graph of cache size usage. Also modified some graph colors so that buffer hits are green (green is good) and a glance can spot problems.
  • Added file format version id to symbols.dbx to inform user of changes in the binary storage format.
  • Fixed QName serialization bug.
  • Atom: added support for getting atom entries by id
  • Webstart: Updated asocat/pack200 compression library.
  • Fixed: fulltext lookups with wildcards (e.g. para &= "sinnlich") were partially broken.
  • Fixed slow queries on //
  • Fixed match-count behaviour
  • Fixed: support for multiple unary operators, e.g. 7, +-9
  • Fixed nested document construction bug:
  • Fixed string representation of in-memory attributes : let attr := attribute d { "xxx" } return string(attr)
  • Fix for 1573314 HTML: cardinality issue in browse:main
  • webDAV improved error messages on 'PUT'
  • Fixed class cast exception in : let x := 1.1 return x div xs:double(4)
  • util:binary-doc-available should return false if the document exists but is not a binary resource.
  • Added dedicated performance test suite. Call with "build.sh benchmark", output goes into test/benchmark.
  • Fixed NPE in CollectionCache.
  • Fix for 1535514 decoding resources names in webadmin interface
  • Improved string representation of decimal values (XQTS)
  • Changed util:index-terms to accept an empty sequence as start string
  • Added some tests for fulltext index by qname.
  • Added commons daemon code
  • Fixed: binary resource could not be removed via the web interface
  • util:collection-name, util:document-name and util:document-id should work with binary resources as well
  • Bug fix: acquired lock not properly released in functions util:binary-doc and util:binary-doc-available.
  • Applied fix for 1605266 HTML admin: size of binary docs too accurate
  • Applied 1578079 add getServletContext to HttpSessionWrapper
  • Log any exceptions whilst sending SMTP mail and fix the truncated subject encoding problem
  • Fix NPE in NativeValueIndex.
  • xmlrpc: parseLocal should return 'true' when document is successfully inserted
  • Updated to XForms Filter 1.2 a lighter distribution, and updated to the latest version of Chiba
  • Improve performance of self axis queries in exist:optimize.
  • The collection cache is now adaptive, which means it can grow under load. The limit is set in conf.xml.
  • Smaller performance improvements in node sets.
  • Bug 1589927: Fixed NPEs in quantified expressions with specified sequence type.
  • Webstart: should not throw exception/500 for incorrect filename extension
  • Webstart: exist-Bugs-1614575 Make webstart jar-download more robust
  • Webstart: exist-Feature Requests-1614581 Add DateHeader to jnlp download servlet
  • Make (#exist:optimize#) work with other axes than child.
  • Fixed a critical bug leading to failures during crash recovery, usually followed by a data corruption.
  • XMLRPC: getDocumentData/getNextChunk could not handle binary documents.
  • Small performance improvement (to speed up document removal).
  • Updated commons httpclient to 3.0.1
  • New optimization pragma (# exist:optimize #). Can currently be used in combination with a named fulltext index (see above) and the fulltext operators/functions &=, |= and near().
  • fn:string() now returns an empty sequence instead of an empty string. Not compliant with the specs but compliant with the XQTS and Saxon.
  • Allowed user to switch authenticated user for the session if they re-send the Basic auth header
  • Bug: Nodes not properly update in fulltext index after deletion. Wrong node id comparison.
  • Added gev's profile pragma.
  • Moved jars to lib/user.
  • Added back service daemon class for commons daemon startup
  • Fixed: When an HTML file is inserted into eXist, it is converted to XML first using NekoHTML
  • Make sure the Scheduler is shutdown when shutting down eXist
  • Implemented fn:resolve-uri()
  • Added new standard function : normalize-unicode() (relies on the ICU4J library)
  • Fixed fn:substring("he",2) which should return "2", not an empty string.
  • Webstart: added support for Pack200/gzip shrinked jar files.
  • deprecated doctype() in the fn namespace. Moved it to the util NS...
  • fn:match-all and fn:match-any are deprecated. Use text:match-all/text:match-any instead.
  • Fixed: in an enclosed expression, an element was sometimes added as text if the previous node was a text node.
  • Changed the type of maxAge to xs:duration (instead of int seconds) for response:set-cookie()
  • xmldb:authenticate and xmldb:login failed to work with a relative URL for the collection, e.g. xmldb:login("/db", "admin", ""). Fixed.
  • Applied patch provided by Robert Koberg - 1576760 Rest Authentication ; Also added code to store an authenticated user in the session
  • Patch 1588840 applied to the SOAP Server. Allow's XML Fragments. Fixes SOAP-ENV prefix. Fixes NPE when requested XQWS doesnt exist. Thank you José María Fernández
  • Added xmldb:get-mime-type().
  • Implemented codepoint-equal() function
  • Addressed range-indexed attributes.
  • Improved error message
  • Reviewed the way arithmetic operations (division) are handled.
  • Fixed memory leak: byte buffers for caching index data would never shrink. Limit those buffers to 64K max.
  • Improved the design of some fulltext related functions
  • Cleaned code in GeneralComparison
  • Added "group by" patch from Boris Verhaegen
  • Made code more robust in min()/max()
  • Enforce param check in fn:id()
  • Fixed a few local namespace-uri issues that were reported by the XQTS.
  • Added pragma exist:force-index-use.
  • Added more genericity in code.
  • Fixed: inserting a CDATA node via an XQuery update command led to an exception
  • Added ability to schedule with Cron timings and added an UserXQueryJob for scheduling XQuery jobs.
  • Added an extension module for performing scheduler related functions
  • Bug fix: overwriting a binary resource with an XML document led to a database corruption.
  • Introduced new Scheduler based on Quartz
  • Added function util:binary-doc-available
  • Move jUnit tests to separate code tree ; additional changes will follow
  • Fixed: In-memory CDATA were not serialized at all
  • Added a new method inside xmlrpc isInServiceMode
  • Updated Javadocs.
  • Added new "service mode": a dba admin user can now switch the database into a protected service mode.
  • Fixed a few bugs in poisition().
  • Added BackupSystemTask: running the backup as a system task guarantees a consistent backup.
  • Added XQuery function that can be used to trigger arbitrary system tasks.
  • Backup can now write to a .zip file instead of the file system.
  • Interactice client: Added Bokmål translation by Trond Albinussen

Started on 4-11-2006 (rev4787)

Links
Latest Additions
AtomicWiki 0.1 dev $Id$
,