Major release:
- Many bugfixes in the JSONiq Update Facility and stability improvements.
- Paths to queries or data containing spaces should now work
- Fixed a few parsing issues with unquoted strings corresponding to new keywords
- It is now possible to set up the internal materialization cap separately from the item limit in the output.
- Support for reading from PostgreSQL and from MongoDB
- The @ (key uniqueness within an array) and ? (allowing for nulls) compact syntax is now supported in JSound.
- Support for updates against Apache Iceberg.
- Fixed several bugs leading to issues with large FLWOR expressions.
- format-integer() and format-number() are now supported. Decimal formats can be defined in the prolog.
- More support for XML and XQuery 3.1 — use with care as XML+XQuery support is not complete yet.
- Direct XML comment constructors are supported in the XQuery 3.1 syntax.
- Direct XML processing instruction constructors are supported in the XQuery 3.1 syntax.
- Support for map items and array items in the XQuery 3.1 syntax as well as unary and postfix lookup.
- all XQuery 3.1 map:* and array:* functions are supported (in both the JSONiq and XQuery syntax).
- more complete implementation of node tests and atomic type facets.
- It is now possible to create function items from builtin functions via named references.
- More than 21,200 passing tests on the public W3C qt3test test suite.
Support for Spark 4.0, 4.1, and 4.2 preview 3. Spark 3.5 is no longer supported.
Note that Amazon EMR does not yet support Spark 4.0 but we expect this to happen soon with the upcoming EMR 8. 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 preview 3. Java 11 or 17 is required for Spark 3.5.
Many bug fixes, enhanced schema detection.
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.
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/
What's Changed
- Output fix2 by @ghislainfourny in #1376
- Output fix by @ghislainfourny in #1375
- Deactivate adaptive processing for Delta tests. by @ghislainfourny in #1377
- PostgreSQL support by @ghislainfourny in #1378
- Add support for MongoDB. by @ghislainfourny in #1379
- Add support for new keywords as unquoted strings by @ghislainfourny in #1381
- feat(ci): add support for running qt3tests suite with GitHub Actions CI by @EPMatt in #1385
- Escape spaces in paths by @ghislainfourny in #1383
- Remove debug output by @ghislainfourny in #1386
- Add support for @ notation in JSound compact syntax. by @ghislainfourny in #1387
- Add support for ? in JSound compact syntax by @ghislainfourny in #1388
- Introduce two different parameters for result size and materializatio… by @ghislainfourny in #1391
- Fork materialization cap from result size by @ghislainfourny in #1392
- Simplify code. by @ghislainfourny in #1393
- Fix issue with the dynamic context for RDDs produced in local let clauses by @ghislainfourny in #1396
- Upgrade plugin versions in pom and fix many warnings by @ghislainfourny in #1389
- Fix bug when materializing the output to a list. by @ghislainfourny in #1397
- feat: add direct and computed processing-instruction constructors by @EPMatt in #1402
- feat: implement direct and computed comment constructors by @EPMatt in #1401
- feat: improved type validation for creating dataframes, implement xquery entity unescaping by @EPMatt in #1395
- Changes in Omar's project by @ghislainfourny in #1398
- feat: improve namespaces support by @EPMatt in #1403
- Omar Final Changes by @ohamz in #1405
- feat(xquery): implement XQuery Node Types, add related accessors and functions by @EPMatt in #1404
- Implementation of atomization when passing function parameters by @ghislainfourny in #1411
- Last Minute Final Changes - Omar's Project by @ohamz in #1410
- Actionscachev4 by @ghislainfourny in #1413
- Fix warnings by @ghislainfourny in #1412
- Fix Nested Updates & Add Tests by @ohamz in #1415
- Bump version. by @ghislainfourny in #1420
- Fine-grained workflows by @ghislainfourny in #1418
- feat: finalize implementation of Atomic Type System, add support for missing constraining and fundamental facets by @EPMatt in #1409
- Add Henrik Pätzold to contributors by @ghislainfourny in #1421
- Format functions by @ghislainfourny in #1425
- feat: add support for Map Items by @EPMatt in #1424
- CI: Update run-qt3.yml to remove PR branch restriction by @EPMatt in #1428
- feat(xquery): add initial support for QName items, switch Node Items to store node names as QNames, initial work for full namespace resolution by @EPMatt in #1426
- feat: implement named function references for builtin functions, add support for fn:function-lookup by @EPMatt in #1427
- feat: add support for arrays with sequences as members, fixes to Map subtyping, Node tests and static namespace resolution by @EPMatt in #1416
- Support $array($key) syntax. by @ghislainfourny in #1431
- Add full support for format-number and decimal-format declarations from prolog through static context by @ghislainfourny in #1430
- feat: master's thesis final improvements by @EPMatt in #1432
- feat: improvements to the serialization architecture by @EPMatt in #1433
- Atomization performance by @ghislainfourny in #1434
New Contributors
Full Changelog: v2.0.0...v2.1.0