We are very happy to announce the release of BaseX 9.0!
The new version of our XML database system and XQuery 3.1 processor includes some great new features and a vast number of minor improvements and optimizations. It’s both the usage of BaseX in productive environments as well as the valuable feedback of our open source users that make BaseX better and better, and that allow and motivate us to keep going. Thanks to all of you!
Along with the new release, we invite you to visit our relaunched homepage: http://basex.org/.
Java 8 is now required to run BaseX. The most prominent features of Version 9.0 are:
XQuery
- Comprehensive extensions in the internal XQuery optimizer framework
- Dynamic hash joins rewritings of general comparisons
- Register query jobs as persistent services
- Process very large CSV files via the new CSV ‘xquery’ format
- Update Module: higher-order functions for performing updates
- Unified static typing, including maps, arrays and function items
- COPYNODE: Lightweight copying of XML fragments
- ENFORCEINDEX: Enforce rewriting for index access
Storage
- Improved database compression (short strings, whitespaces)
Web Applications
- Permissions layer: Unified definition of RESTXQ access patterns
- RESTXQ: Full support for client- and server-side quality factors
- REST: Run BaseX command scripts
- Web server upgrade to Jetty 9
Repositories
- Combined packaging mechanism (XQuery and Java)
- Java Packaging: Bundling of additional libraries
Distributions
- Revised detection and configuration of BaseX home directory
- Windows executable: better detection of Java libraries
DBA: BaseX Database Administration
- Improved editing and evaluation of XQuery modules
- Revised file, session and job management
Minor Updates
- NEW: convert:binary-to-integers: return binary data as octets
- NEW: db:option: return value of system option
- NEW: fetch:xml-binary: retrieve XML from binary data
- NEW: jobs:invoke: schedule job based on input file
- NEW: out:cr: return carriage return
- NEW: proc:fork: execute command in separate thread
- NEW: prof:track: measure runtime and memory
- NEW: util:replicate: return results multiple times
- NEW: IGNOREHOSTNAME (certificates verification)
- UPDATE: convert:integers-to-(base64|hex) renamed
- UPDATE: file:read-text-lines: new $offset/$length arguments
- UPDATE: fn:put: specify serialization parameters
- UPDATE: http:send-request: support for compressed responses
- UPDATE: proc:system, new input option: pass on stdin
- UPDATE: prof:time, prof:memory: signatures updated
- UPDATE: sql:execute(-prepared) returns update count
- UPDATE: update:output(-cache) renamed; before: db:output(-cache)
- UPDATE: web:response-header: status/message attributes
- UPDATE: xquery:eval: new pass option (pass on error info)
- UPDATE: xquery:eval-update renamed; before: xquery:update
- UPDATE: xquery:parse(-uri): base-uri option added
- UPDATE: xslt:transform(-text): cache XSLT transformer
- UPDATE: JSON Module, ‘xquery’ format renamed; before: ‘map’
- UPDATE: Lazy Module renamed; before: Streaming Module
- UPDATE: GUI: serialization parameters for result output
- UPDATE: XQuery: numeric errors replaced with descriptive names
- UPDATE: BaseXServer option -c accepts URLs and file references
We are looking forward to your feedback.
Enjoy and have fun, Christian, BaseX Team
Back to Posts