ChangeLog 1.2
- 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 &amp; 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)
- 0 Comments
- Add Comment