Skip to content

RumbleDB 3.0.0 "Coast Redwood"

Choose a tag to compare

@ghislainfourny ghislainfourny released this 05 Oct 13:38
· 163 commits to master since this release
34de0e0

Major release

  • RumbleDB now officially supports XQuery 3.1, with 95% of passing QT3 tests of the XQuery standard. To use XQuery, add xquery version "3.1"; at the start of your query, or save your query file with the extension .xq or .xquery, or use the CLI parameter to set XQuery as the default language. Otherwise, JSONiq remains the default language.
  • In particular, RumbleDB now fully supports XML input and output as well as HTML and XHTML output, including XPath navigation, XML node types and tests, XML Schema validation, XML-specific functions, XML-specific atomic types, and full serialization conformance (XML, HTML, XHTML, Text, JSON, adaptive).
  • Streaming through the data with FLWOR tumbling windows and sliding windows are supported, following the W3C XQuery standard (in both syntaxes).
  • JSONiq is almost fully aligned on XQuery with the exception of XML Schema validation, but retains what makes JSONiq JSONiq (JSON-like syntax).
  • The CLI has been completely redesigned and cleaned up (breaking change). See the documentation.
  • The Configuration API has been completely redesigned (breaking change). See the documentation.
  • Apart from the above breaking changes, RumbleDB 3 is largely backwards compatible with RumbleDB 2, but with less bugs, more W3C conformance, and more stability.
  • RumbleDB is now a brew formula available via brew install rumbledb.

Support for Spark 4.0, 4.1, and 4.2. Spark 3.5 is not supported.

Amazon EMR 8.x supports Spark 4.x and is compatible with RumbleDB: we tested it successfully. EMR 7 should be used with RumbleDB 1.22 because it is on Spark 3.5 and Scala 2.12.

Java 17 or 21 is required for Spark 4.0, 4.1, and 4.2.

Contributors (Ghislain Fourny's students at ETH): Stefan Irimescu, Renato Marroquin, Rodrigo Bruno, Falko Noé, Ioana Stefan, Andrea Rinaldi, Stevan Mihajlovic, Mario Arduini, Can Berker Çıkış, Elwin Stephan, David Dao, Zirun Wang, Ingo Müller, Dan-Ovidiu Graur, Thomas Zhou, Olivier Goerens, Alexandru Meterez, Pierre Motard, Remo Röthlisberger, Dominik Bruggisser, David Loughlin, David Buzatu, Marco Schöb, Maciej Byczko, Abishek Ramdas, Matteo Agnoletto, Dwij Dixit, Omar Hammoud, Henrik Pätzold, Jimmy Cai, Athena Wang.

Main website: https://www.rumbledb.org/
Documentation: https://docs.rumbledb.org/
Maven repository: https://central.sonatype.com/artifact/com.github.rumbledb/rumbledb
Javadoc: https://rumbledb.org/docs/latest/api/
Python package: https://pypi.org/project/jsoniq/