.. highlight:: text .. _sec_release_notes: ############# Release Notes ############# rasdaman v11.0 (2026-07-10) =========================== Rasdaman v11.0 comes with a modern query processing engine open-sourced from rasdaman enterprise with significant new features and improvements: - More correct nodata handling with null masks (:ref:`docs `). Nullmasks allow to separate null handling from data handling, preventing the long-standing issue of an operation introducing new null values where originally were none. - Convenient access control through users/roles and privileges (:ref:`rasql docs `, :ref:`Web interface `). - MARRAY constructor supports array-producing cell expressions (:ref:`docs `). - Better performance through strongly-typed channel-interleaved (column-oriented) data processing, which is much friendlier to utilizing SIMD capabilities of CPUs. - Reduced memory usage through full streaming query evaluation (except for a few blocking operators like CRS projection). - Several new functions, such as: ``typeinfo``, ``transpose``, ``shift_to``, etc. The new query processing engine is also relevant for rasdaman developers. It has a more coherent architecture where the different stages of query evaluation are clearly decoupled in separate modules: - A modern C++ parser that only parses the query into an abstract syntax tree, replaces the previous C parser which mixes validation and optimization as well. - Logical query tree with accurate data type information in every operator; validation and optimizations are done with separate, self-contained rule passes. - Physical plan generation. - Physical operator execution. New features, enhancements, bug fixes ------------------------------------- rasdaman core ^^^^^^^^^^^^^ - New query processing engine, open-sourced from rasdaman enterprise - Null values have a different and more accurate semantics based on null masks, additional null-specific operators, support for per-band null values, improved handling of null when encoding data, e.g. use of "null" keyword in JSON (:ref:`docs `) - Access control is now part of rasql, and much more powerful and flexible in capabilities (:ref:`docs `); existing users are automatically migrated and the access control mechanism in rasmgr is not used anymore - Support for marray expression with array-valued cell expression, allowing to aggregate array expressions into higher-dimensional arrays (:ref:`docs `) - Add support for using PostgreSQL as a backend at runtime, as an alternative to the default SQLite backend (:ref:`docs `) - New query syntax to list the collections available in rasdaman (:ref:`docs `) - A ``typeinfo()`` function to get the type of an expression without evaluating it (:ref:`docs `) - A ``transpose`` for changing the axis order of an array (:ref:`docs `) - Support for ``shift_to`` rasql function (:ref:`docs `) - Support for ``overlay`` in general array condenser (:ref:`docs `) - Support for ascending / descending order of iteration in :ref:`CONDENSE ` - Code using raslib to send rasql queries to rasdaman can now check the :ref:`null status ` of a returned scalar ``r_Primitive`` value with the ``is_null()`` method - :ref:`Null status ` of scalar values is transmitted to the client, and printed as ``NULL`` by the rasql command-line tool - Encoding to CSV / JSON formats is faster by up to an order of magnitude - Improve performance of applying color maps and transposing results before encode OGC frontend (petascope) ^^^^^^^^^^^^^^^^^^^^^^^^ - WCPS supports rasql null operations (:ref:`docs `), e.g. ``coverageExpr null values []`` to remove the null values of a coverage expression (:ref:`docs `) - Improved performance for coverage constructor with temporal axis iterator - Band names and metadata are reset after some operations (:ref:`docs `) - Fixed CRS transform so it will not align geo extent implicitly - Fixed comments parser in WCPS queries - Fixed null error from collection name when updating coverage metadata rasql-web-console ^^^^^^^^^^^^^^^^^ - Improved error handling - Allow to download output files in case no widget is used - Support customized credentials to send with demo queries .. _incompatible-changes-v11: Incompatible changes -------------------- - Ubuntu 20.04 is not supported anymore, rasdaman v11.0 can be installed on Ubuntu 22.04 and 24.04 - Removed support for deprecated setting ``allow_write_requests_from`` in ``petascope.properties``; configure :ref:`authentication_type `) for authentication control - Null values have a different and more accurate semantics based on null masks (:ref:`docs `) - Support for access control in rasmgr has been removed, use rasql for managing rasdaman users and assigning privileges to them (:ref:`docs `) or the Web interface in petascope (:ref:`docs `) Upgrading --------- The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v11.0. In addition, it is highly recommended to review the list of incompatible changes. Database migration ^^^^^^^^^^^^^^^^^^ - Package installation: migration will be automatically performed when updating the rasdaman package. - Install from source: if you build rasdaman from source, it is necessary to execute ``update_db.sh`` before starting the rasdaman v11.0 server. From v10.6 packages ^^^^^^^^^^^^^^^^^^^ To upgrade from the previous stable version v10.6 to stable v11.0: 1. Stop rasdaman with ``sudo service rasdaman stop``; make sure that the processes are really stopped: if ``ps aux | grep -E 'ras(mgr|server)'`` returns any processes, stop them with ``pkill -9 -f 'ras(mgr|server)'`` 2. Update the repository metadata with ``sudo apt-get update`` 3. Two ways to upgrade rasdaman: - Upgrade all packages including rasdaman with ``sudo apt-get upgrade``, or - Upgrade only the rasdaman package with ``sudo apt-get install $(dpkg -l | grep "^ii *rasdaman" | awk '{ print $2; }')`` Migrating --------- For migrating from one to another OS version, see the :ref:`migration guide `.