Rumble 1.7.0 "Phoenix Atlantica"
Pre-release
Pre-release
·
5578 commits
to master
since this release
New milestone in our feature coverage with the following changes prioritized based on user requests.
New features
- Rumble is available for Spark 2.4.x as well as for Spark 3.0.0 (pick the right jar). The version for Spark 3.0.0 cannot read ROOT files yet, as we are waiting for the corresponding Laurelin release.
- library modules are now supported, in order to share and import functions and global variables. Like main modules, library modules can be stored on any file system including S3 or HDFS, which also enables sharing code within the institution (local HDFS system) or even worldwide (S3 or even HTTP).
- support for the W3C-standard trace function, for outputting intermediate values to the log.
- support for try-catch expressions to catch and handle dynamic errors
- support (read-only) for HTTP scheme for reading query files, data, importing modules, etc.
Bugfixes
- fixed a bug in position semantics in predicate expressions, so that it also works if the position is not a constant.
- Bugfix: query files are now tested for EOF, and errors will now be thrown if there are extra characters after the complete JSONiq query.
- it is now possible to define functions and variables in the local namespace, following the W3C standard
- [BREAKING CHANGE] relative paths passed to input functions are now resolved correctly in a query if it is read from a file, i.e., according to the absolute query file location. In previous releases, relatives paths were resolved against the working directory. If you pass paths via external variables on the command line and (rightfully) expect them to be resolved against the working directory, declare the external variable with an "as anyURI" type annotation so Rumble knows your intent.
- improvements in error messages when reading from and writing to file systems. Path resolution was also consolidated to provide the same experience everywhere.