BaseX Changelog

What's new in BaseX 7.9

Dec 4, 2014
  • XQUNIT:
  • Unit testing has been improved a lot. All test functions will now be evaluated separately; this way, updates can be performed within test.
  • with the new TEST command, all test modules in a specified directory can be evaluated.
  • tests can be invoked from within the GUI editor and project view.
  • on command-line, the -t flag can be used for the same purpose.
  • RESTXQ:
  • Custom HTTP methods can be defined via %rest:method
  • Error handling has been improved and aligned with try/catch
  • REST:
  • The "run" operation allows execution of server-side command scripts
  • DATABASE MODULE:
  • parsing options added to db:create, db:add and db:replace

New in BaseX 7.8 (Feb 13, 2014)

  • GUI: a new project view for organizing and opening project files, real-time search of project files and contents, new editor shortcuts and code completions, and code formatting.
  • Improved performance of delete and insert operations.
  • Faster in-place value updates. 'update': convenience keyword for transform expressions.
  • XQuery functions are now inlined and further optimized; there are closure optimizations, better static typing, improved detection and rewriting of tail calls, faster processing of (sub)sequences, and updated XQuery modules.
  • API: new options and Russian and Spanish translations.

New in BaseX 7.7.2 (Oct 8, 2013)

  • XQUERY:
  • CSV Module and serialization added
  • JSON serializer updated (more to follow)
  • update checks in modify clause fixed
  • parsing of new map syntax fixed (ignoring spaces)
  • tail call handling in built-in higher order functions fixed
  • API:
  • Russian translation added (thanks to Oleksandr Shpak, Max Shamaev)
  • command-line arguments starting with '<' are interpreted as XQuery
  • INDEXING:
  • bug fixed in updatable index structure

New in BaseX 7.7 (Aug 8, 2013)

  • Support for XQuery 3.0 was finalized.
  • The Unit module allows standardized testing of XQuery applications.
  • A Streaming module speeds up operations on large files.
  • An Inspection module provides reflection and documentation features.
  • Support for XQuery collations was added.
  • The Database, Archive, File, and other modules were extended.
  • WebDAV was enhanced with locking features.
  • RESTXQ was improved and extended.
  • The core received improved database locking, including the use of custom lock strings, more flexible database names, and new options for simplifying the creation of large databases.

New in BaseX 7.6 (Feb 7, 2013)

  • Database locking: updates on different databases can now be executed in parallel and won't lock your read-only queries anymore.
  • XQuery: when errors are raised, the full stack trace is now returned; the EXPath Geo Module, Fetch Module, and HTML Module have been added; and the Validation, XSLT, Database, and Profiling Modules have been updated.
  • In the GUI, error messages are now clickable and linked with the text editor.
  • Trace/profiling output is redirected to the info view in real-time.

New in BaseX 7.5 (Dec 28, 2012)

  • XQuery now features much faster bulk updates, less memory when performing inserts and replaces, a new db:create() function, updates for the latest changes in the specs, and HTML 5 support.
  • The GUI text editor now has a fast and flexible search/replace panel, error highlighting extended to XML files, and improvements for editing arbitrary text files.
  • New Request, Session, and Sessions modules were added for Web applications.
  • Logging was revised and extended to HTTP request.
  • SSL support was added, and Jetty 8 iw now used.
  • RESTXQ elements were added for forwarding.
  • Stability was improved.

New in BaseX 7.2.1 (Apr 28, 2012)

  • Value indexes now support string-based range queries.
  • The new XQJ API is based on Charles Foster's implementation.
  • Import of XQuery modules has been simplified.
  • Simplified invocation of Java code from XQuery.
  • Full support for the XQuery 3.0 Regular Expressions syntax.
  • Updating functions can now return values.
  • Unified handling of document and database URIs.
  • Pinning of opened databases has been replaced by filesystem locking.
  • REST, RESTXQ, and WebDav: concurrency issues have been fixed.

New in BaseX 7.2 (Mar 26, 2012)

  • support for the new RESTXQ API for building XQuery web services
  • improved support for running BaseX as web application
  • XQuery: higher order functions added to speed up Top-K queries
  • proxy server settings added
  • advanced TagSoup options added for importing HTML files
  • XQuery: faster traversal of full-text index entries via ft:tokens()
  • Command-line: embedded readline and history support via JLine
  • XQuery 3.0: annotation added, updated EQName syntax (Q{uri}name)
  • opened databases are now pinned OS-wide to reduce write conflicts
  • HTML5 serialization of query results
  • a printable version of our Wiki documentation

New in BaseX 7.1.1 (Feb 20, 2012)

  • The GUI has a new "Package" dialog to list, install, and delete XQuery Packages.
  • The "New/Add" dialog has increased usability and automatic detection of input formats. "RAW" format has been added to simplify import of raw files.
  • The "Export" dialog has been enhanced to support other methods like JSON, and to specify additional serialization parameters.
  • On the command line: there is a new option -L to add a trailing newline after a query result, and a new option -C to execute commands from a batch script.
  • There is a new "option" parameter to set options before executing a request.
  • Full-Text: Indonesian Stemmer. I/O: faster read/write access to byte arrays.

New in BaseX 7.0.1 (Oct 24, 2011)

  • Windows installer was updated to support latest features
  • ZIP file was updated (initial config & directories added)
  • Short directory names are chosen if config file resides in app.dir.
  • Start scripts have been improved
  • XQUERY:
  • much faster execution of count() when applied to opened databases
  • SERVER:
  • Flag -c connects to an existing database server
  • Flag -s specifies a port for stopping the HTTP server (Jetty)
  • Flag -S starts the HTTP server as a service
  • running write operations will be completed before server is stopped
  • API:
  • Ruby, Python, PHP, Java: clients updated

New in BaseX 7.0 (Oct 17, 2011)

  • STORAGE: Files of any data type can now be stored in BaseX in their raw
  • representation. This means that BaseX can now be used as a full-fledged storage
  • system. Next, millions of documents can now be added faster than ever before.
  • APIs: We have rewritten our HTTP services: Our REST implementation has been
  • integrated much more tightly in the core system. It can be used to query XML data,
  • retrieve binary resources, and send database commands. A new WebDAV API provides
  • access to the database via your file system, oXygen and various other clients. The
  • classical clients (available for 10 different programming languages) have been
  • extended and sped up.
  • XQUERY: Numerous modules have been added to process all kinds of data formats via
  • XQuery: JSON documents can be parsed and serialized, SQL databases can be queried,
  • XSLT cryptographics functions are available to encrypt data and use XML signatures.
  • Our database module has been extended to facilitate the storage and modification of
  • database resources.
  • FULL-TEXT: We now offer tokenization and stemming support for 21 different natural
  • languages, including Japanese (thanks to Toshio HIRAI!). Next, we have further
  • optimized the internals of our retrieval features of BaseX.

New in BaseX 6.7.1 (Jul 29, 2011)

  • New XQuery functions were added for adding, deleting, renaming, and replacing documents, and optimizing databases.
  • XSLT transformations can be done.
  • All XQuery 3.0 functions are now supported.
  • Tail-call optimizations were made to speed up recursive functions.
  • ADDARCHIVES can be used to parse files within archives.
  • SKIPCORRUPT can be used to skip non-well-formed files.
  • The document index is now incrementally updated.
  • The "Manage Database" GUI dialog now supports operations on multiple databases and glob syntax.
  • Drag and drop operations were added.
  • Clients that repeatedly fail to login are now delayed.
  • Password operations now all use MD5.

New in BaseX 6.6.2 (May 10, 2011)

  • Main features: a highly efficient XQuery map expression with associated functions, basic authentication in the JAX-RX (REST) API, and multiple editor tabs.
  • More details: API: [ADD] JAX-RX API now supports basic user authentication.
  • The COPY command creates identical database copies.
  • The OPTIMIZE ALL command minimizes all database structures.
  • XQuery: map expressions and functions have been added.
  • The file module is aligned with the latest EXPath specification.
  • XQuery optimizations to avoid materialization of sequences.
  • GUI: Multiple editor tabs have been added.

New in BaseX 6.5 (Jan 18, 2011)

  • Text compression was implemented, shrinking text nodes by up to 50%.
  • Collection support was enhanced.
  • Backup functionality was added along with importers for HTML, text, and CSV.
  • XQuery 3.0 features were added, including GROUP BY and SWITCH statements.
  • New file, HTTP, database, and full-text functions were added.
  • Lucene and Snowball Stemming were included for XQuery Full Text.
  • The GUI received a new TreeView visualization and improved database management.
  • JAX-RX now supports hierarchical paths and external variables.
  • Language bindings were extended with query iterators.

New in BaseX 5.5 (Mar 24, 2009)

  • The XPath 1.0 implementation has been removed. XQuery now supports all XPath optimizations and numerous others (index access, path, and FLWOR rewritings based on databased statistics, etc.).
  • Sequential and index-based XQuery Full-Text 1.0 support was added.
  • TreeMap visualization was enhanced with new layout algorithms and text thumbnails.