[[PageOutline(1-3)]] = Version History = This page lists rasdaman versions, together with the change history. Starting with version 8.2 we provide summaries of the main changes done with each roll-out. Ways of obtaining rasdaman are listed in the [https://doc.rasdaman.org/stable/02_inst-guide.html#getting-started download] area. == Version 10.3.0 (2023-xx-xx) === New features, enhancements, bug fixes rasdaman core - polygonize rasql function to convert raster to vector data - Update tiling of existing arrays OGC frontend (petascope) - Experimental openEO features - Move some Spring configuration settings from petascope.properties to application.properties inside rasdaman.war wcst_import - `"skip": "files_that_fail_to_open"` to skip files which cannot analyze by wcst_import == Version 10.2.9 (2023-xx-xx) rasdaman core OGC frontend (petascope) - Fix WMS ``GetMap`` request with WCPS fragment style containing pre-defined axis slicings - FIX coverage's extent bounding box in WGS84 CRS in `WCS GetCapabilities` resonse - Fix wrong collection alias in generated rasql FROM clause in case of scaling a pyramid member with different collection name to coverage id - Fix coverage's metadata returned in XML format for WCS `DescribeCoverage` request - Add check for invalid non-XY subsets which are out of extents in WMS `GetMap` requests - Improve rasdaman's collection type creation with band names - Support shorthand CRS style for subsetting / projecting coverage in different CRS with WCS / WCPS requests SECORE - SECORE resolves CRS defined in userdb with full XQuery query == Version 10.2.8 (2023-08-09) rasdaman core - dbinfo output contains the null values if any were specified for the collection - Fix SORT on ranking values which are not of type double - Fix FLIP on sliced array operand - Fix segfault in linestring clip - Return proper error when casting to complex numbers instead of crashing - Fix invalid errors returned when multiple subsets are applied OGC frontend (petascope) - WMS `GetMap` filters null values which are out of range values `[0-255]` for encoding in PNG - WCPS fixed `scale() / extend()` operators with target domains specified from `LET` clause variable wsclient - Allow admin to overwrite metadata when the current metadata is invalid XML == Version 10.2.7 (2023-07-25) rasdaman core - Fix binary operations on operands with non-overlapping tiles OGC frontend (petascope) - Fix WMS GetCapabilities to conform with OGC 1.3.0 schema - Support `BGColor` optional parameter in WMS `GetMap` request for requesting layer with 1, 3 or 4 bands - WMS `GetMap` without `TRANSPARENT=TRUE` return white color for nodata pixels instead of transparency - Fix problem with WMS `GetMap` request on multiple layers with different geo extents and resolutions - WMS `GetMap` request support `crs=CRS:84` - Strip `random` parameter from incoming requests to bypass web browser's cache - Update ANTLR4 library for WCPS to the latest version to support java 11+ - Enhance WCS scaling extension via WCPS query - Remove unused collection alias in generated rasql queries from WCPS queries wsclient - Fix WMS GetCapabilities to conform with OGC 1.3.0 schema == Version 10.2.6 (2023-06-20) OGC frontend (petascope) - Fix WMS results in case of different geo extents accross base and its pyramid members - `Dimension` elements need to contains `units` attribute in WMS `GetCapabilities` response - Fix `null` error in case axis `crsDefinition` is not available in WCPS - Fixed WCPS to return multipart responses properly - Improve pyramid member selection when requesting a non-existing coefficient on coverage axis - Improve optimization of scaling and subsetting operations in WCPS queries wcst_import - Fix `time_series_regular` recipe to work with `UnixTime` CRS SECORE - Internal SECORE should show the context path based on petascope endpoint in in results == Version 10.2.5 (2023-05-19) OGC frontend (petascope) - Support `XY` axes order with `NorthEast` orientation (e.g. `EPSG:31467`) wsclient - Show generated `WCS/WMS` `GET`requests on `GUI` == Version 10.2.4 (2023-05-05) OGC frontend (petascope) - WMS `GetMap` requests on ``YX`` grid order coverage return wrong results - Add warning log in case a coverage's rasdaman settype does not exist in `RASBASE` - Fixed petascope deployment with H2 database backend - Sort pyramid members by product of scale factors when creating a new pyramid member - Fix shifting error in irregular axis when doing subsettings - Fix null error when creating pyramid member of a renamed pyramid member coverage - Fix error when renaming a pyramid member of a base coverage - Fix error when coverages having `NaN` as null value in WMS `GetMap` requests - Enhance accuracy for WMS GetMap subsets of lower resolution layers wsclient - Recalculate the total coverages/layers and their sizes when filtering on tables in `GetCapabilities` tabs - Add tab in `DescribeLayer` WMS tab to allow to add an existing geo-referenced coverage as a pyramid member of the selected layer - Add `CreateLayer` tab to create a WMS layer from an existing geo-referenced coverage - Enhance the performance after deleting a coverage / layer and creating / deleting a style of a WMS layer - Add `DeleteLayer` tab to remove a WMS layer - Fix error to display footprints on `WebWorldWind` in both WCS and `WMS GetCapabilities` tabs - Enhance the performance after deleting a coverage / layer - Add `Login` button to show login form to login as a different rasdaman user - Display error when petascope is not loadable when wsclient starts - Fix `GetCoverage` button error in case petascope endpoint is not `/rasdaman/ows` == Version 10.2.3 (2023-04-19) rasdaman core - Improved performance and precision of scale function OGC frontend (petascope) - Enhance resolving UoM CRS when running internal SECORE - Support java 17 - Improved time to create WMTS layers when petascope starts - Fixed internal SECORE failed to start when petascope starts - Support internal SECORE for different web application name instead of rasdaman.war CRS Resolver (SECORE) - Support java 17 wcst_import - Add validation to check if `"execute_if":"import_failed"` then `"skip":true` is required == Version 10.2.2 (2023-03-29) === Bug fixes rasdaman core - Improved performance of starting/stopping rasdaman - Fixed signal handlers to be async-signal-safe OGC frontend (petascope) - Fixed to not initialize embedded CRS resolver if internal is not set in secore_urls == Version 10.2.1 (2023-03-24) === Bug fixes rasdaman core - Support `round`, `ceil` and `floor` functions in rasql OGC frontend (petascope) - Support `round`, `ceil` and `floor` functions in WCPS - Enhance selection for working resolvers to request CRSs - Reduce requests to SECORE when building coverage objects wcst_import - Support `execute_if` setting to run a `after_import` hook only when an input file failed to import == Version 10.2.0 (2023-03-15) === New features, enhancements, bug fixes rasdaman core - Support --queryfile and --out formatted options in rasql OGC frontend (petascope) - Add `JAVA_OPTS` environment variable for `migrate_petascopedb.sh` script - WCPS enhanced axis iterator's domain handler - WCPS supports ``.lo`` and ``.hi`` in axis iterator's domain handler - WCPS fixed the syntax, `LET` clause stands before `WHERE` clause - Support logging level for rasj in petascope.properties (see [https://doc.rasdaman.org/10.2/05_geo-services-guide.html#logging doc]) - WCPS supports axis iterators in coverage constructor with geo extents from domain() operator - WCPS CrsTransform supports geo XY axes' target resolutions and geo XY target bounding box and `domain(axisLabel).resolution` to get the resolution of an axis. wcst_import - Add full file path for importing netCDF/HDF4/HDF5 file via gdal recipe - Support new shorthand syntax using `+` in crs in the ingredients file (see [https://doc.rasdaman.org/10.2/05_geo-services-guide.html#data-import-crs doc]) - Optimized import of Sentinel 2 data when possible - Fixed import of non-globbed files in subdirectories documentation - Add doc about ows4R package to access OGC WCS via R installation - Drop support for CentOS 7 and Ubuntu 18.04 packages as these OS are close to EOL - Added separate cmake option for generating PDF documentation === Incompatible changes - Ubuntu 18.04 and CentOS 7 are not supported anymore, rasdaman v10.2 packages are available only for Ubuntu 20.04 and 22.04 - The server/client protocol has backwards-incompatible changes, so C++ / Java clients must be recompiled with the latest rasdaman client API libraries to be able to communicate with rasdaman v10.2 servers. Python clients will require updating rasdapy3 to the latest version with pip3. - Core C++ components require C++17 to compile === Upgrading The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.2. In addition, it is highly recommended to review the list of incompatible changes above. ==== From v10.1 To upgrade from the previous stable version v10.1 to stable v10.2: 1. Update the repository metadata with `sudo apt update` 2. 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)'` 3. Install the new rasdaman version with `sudo apt install rasdaman` ==== From testing To upgrade from the testing repository to stable v10.2: 1. Change the testing package repository to the stable one in `/etc/apt/sources.list.d/rasdaman.list` 2. 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)'` 3. Remove the current rasdaman package with `sudo apt remove rasdaman`; this is required because the stable package has the same version but a lower iteration number than the testing one 4. Install the new rasdaman version with `sudo apt install rasdaman` ==== From previous Ubuntu version Check our [https://doc.rasdaman.org/10.2/02_inst-guide.html#migration migration guide] for hints on how to upgrade your Ubuntu OS, or migrate your installation from one machine to another. == Version 10.1.4 (2023-02-02) === Bug fixes OGC frontend (petascope) - Create proper temporary collection types and delete them after a WCPS query with decode() finished - Log warning message when petascope failed to close a connection to rasdaman - WCPS fixed handling of non-numeric bounds on irregular axis subsets wcst_import - fixed failure to import files with overviews when `"import_overviews_only": true` - resume files enhanced with newline characters to be human-readable documentation - add doc about `ows4R` package to access OGC WCS requests via `R` tool == Version 10.1.3 (2023-01-05) === Bug fixes rasdaman core - Improved errors to report more details OGC frontend (petascope) - WMS fixed handling of WCPS query fragments on a layer with pyramids - Improve performance for WMS / WCPS for irregular axis with long list of BigDecimal values - WCPS fixed the grid origin of XY axes after ``crsTransform()`` - WCPS fixed encoding to netcdf of dynamically created multiband coverage - Axis labels specified in an axis iterator are incorporated in the resulting coverage - Fixed importing with regular time axis - Improve performance on coverages with very large irregular axes - WCPS fixed parsing of unary minus expressions - WMS works better for style from WCPS query fragment == Version 10.1.2 (2022-11-24) === Bug fixes OGC frontend (petascope) - WCPS creates a multi dimensional coverage from coverage constructor - WCPS supports `sum()` as an alias of `add()` - WCPS supports `cellCount()` to get the total number of grid pixels of a coverage - WMS fixes evaluation of query fragment styles with predefined non-XY slices wcst_import - `blocking: false` should show the imported files count / total files properly - Check if time axis is `UnixTime` CRS properly wsclient - Show the list of coverage ids when hovering on a footprint on WebWorldWind globe in `WCS/WMS GetCapabilities` tabs == Version 10.1.1 (2022-11-04) === Bug fixes OGC frontend (petascope) - WMS should not add non-XY axes slices which already exist in WCPS fragment query style - WCPS fixes scaling with subsets by `LET` clause variables - WCPS supports single and multi-line comments (see [https://doc.rasdaman.org/11_cheatsheets.html#comments doc]) - WCS `GetCoverage` support shorthand interpolation (see [https://doc.rasdaman.org/05_geo-services-guide.html#interpolation doc]) wcst_import - Enhance error handling to log file with stacktrace (see [https://doc.rasdaman.org/05_geo-services-guide.html#logging-and-error-handling doc]) == Version 10.1.0 (2022-10-22) === New features, enhancements, bug fixes rasdaman core - Support for sorting array slices along an axis by an aggregation expression ([https://doc.rasdaman.org/10.1/04_ql-guide.html#sort-operator docs]) - Support for flipping the order of array slices along an axis ([https://doc.rasdaman.org/10.1/04_ql-guide.html#flip-operator docs]) - Initialize empty areas in subsetting operations with null values - Fix evaluation of overlay operation on arrays with null values OGC frontend (petascope) - WMTS (OGC Web Map Tile Service) support added + pass OGC CITE tests [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#ogc-web-map-tile-service-wmts docs] - WMS pass OGC CITE WMS raster conformance tests - WMS supports a non-standard random parameter to bypass Web browser cache [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#random-parameter docs] - WMS query fragment styles support combining coverages with mismatching irregular axes - WMS fixed invalid XML element names in GetCapabilities - WMS GetMap requests support non XY axis labels as request parameters (as same as WCS GetCoverage request) - WMS fix style with WCPS query fragment with fixed subset domains - WCPS supports sort operator [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#sort-operator-in-wcps docs] - WCPS supports flip operator [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#flip-operator-in-wcps docs] - WCPS supports crsTransform() shorthand operator [https://doc.rasdaman.org/10.1/11_cheatsheets.html#coverage-operations docs] - WCPS supports imageCrsdomain as trimming subset in scale operator - WCPS fixed combination of different grid domains in coverage condense - WCPS builds a query tree internally which can support optimizations - WCPS optimize queries with scale and subset operators to use pyramids if applicable - WCPS fix slow processing of queries with multiple binary expressions - WCPS `LET` clause supports WKT expressions [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#let-clause docs] - WCS-T creating pyramid member coverage should not run UPDATE query from empty base coverage - WCS-T supports importing local files to external endpoint [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#config-section docs] - Fix null error when parsing compound CRS wcst_import - Option import_order supports value “none” to import files without sorting them beforehand [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#import-order docs] - Add timeout for analyzing input files [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#input-section docs] - netCDF recipe sets default axis resolution = 1 if minBound = maxBound - If `default_null_values` set to `[]`, then a coverage without null values is created [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#data-import-default-null-values docs] - Add setting `filterMessagesMatching` to filter non-wanted GRIB messages [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#slicer-section docs] - Automate setting gridOrder in ingredients [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#slicer-section docs] - Support `${bbox}` expression used in after_import hook [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#bbox docs] - Support importing local files to external endpoint [https://doc.rasdaman.org/10.1/05_geo-services-guide.html#wcst-import-service-is-local docs] wsclient - Fix non-XY axes sliders to work properly === Upgrading The sections below contain instructions on how to upgrade the software installation from a previous version to stable rasdaman v10.0. ==== From v10.0 To upgrade from the previous stable version v10.0 to stable v10.1: 1. Update the repository metadata with `sudo apt-get update` (Ubuntu) or `sudo yum update` (CentOS 7) 2. 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)'` 3. Install the new rasdaman version with `sudo apt-get install rasdaman` (Ubuntu) or `sudo yum update rasdaman` (CentOS 7) ==== From testing To upgrade from the latest testing version to stable v10.1: 1. Change the testing package repository to the stable one in `/etc/apt/sources.list.d/rasdaman.list` (Ubuntu) or `/etc/yum.repos.d/rasdaman.repo` (CentOS 7) 2. 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)'` 3. Remove the current rasdaman package with `sudo apt-get remove rasdaman` (Ubuntu) or `sudo yum erase rasdaman` (CentOS 7); this is required because the stable package has the same version but usually a lower iteration number than the testing one 4. Install the new rasdaman version with `sudo apt-get install rasdaman` (Ubuntu) or `sudo yum update rasdaman` (CentOS 7) === Contributors Sorted by number of patches: - 41 Bang Pham Huu - 8 Dimitar Misev - 3 Adnan Abu Ramadan === Full list of commits '''Addressed tickets''' between v10.0.5 and v10.1.0 with 52 commits: {{{ #!sh echo "||= changeset =||= author =||= ticket =||= subject =||" && \ git log --pretty=format:"|| changeset:%h || %an || %s" v10.0.5..v10.1.0 | sort -k 3 -t ':' -n | sed 's/ticket:\([0-9]*[^ ]\) -* */ticket:\1 || /' }}} || changeset:2a583aa53 || Bang Pham Huu || ticket:000 || FIX - remove unused authentication_type in petascope.properties.in || changeset:3d0c5eae5 || Bang Pham Huu || ticket:000 || FIX - update tilings in test wcst_import for some test cases || changeset:4af3a61a5 || Dimitar Misev || ticket:000 || [FIX] improve test_all_wcst_import test script || changeset:aa074ac27 || Bang Pham Huu || ticket:000 || FIX - wcst_import.py not throw exception if -c ( gdal-cache-size) not specified || changeset:e5d2684a0 || Dimitar Misev || ticket:000 || [FIX] improve test_all_wcst_import test script part 2 || changeset:ab86f3737 || Bang Pham Huu || ticket:1730 || FIX - Allow QGIS WCPS plugin to use HTTPS in server endpoints || changeset:0c7996d6e || Bang Pham Huu || ticket:2221 || add the wcst_import test in system test: 224-test_service_is_not_local || changeset:865a2c950 || Bang Pham Huu || ticket:2221 || FIX - uploaded files by positional parameters in petascope || changeset:b342d56cd || Bang Pham Huu || ticket:2221 || NEW - wcst_import should be able to run on a different host than petascope || changeset:4ffd323aa || Bang Pham Huu || ticket:2437 || NEW - wcst_import supports bbox:axis_label:min/max in the ingredients files || changeset:fce28bd46 || Bang Pham Huu || ticket:2590 || NEW - petascope supports WCPS shorthand version for crsTransform() || changeset:38e1c3fa3 || AbuRamadan || ticket:2600 || errorCodesCleanUp || changeset:9703fe84e || AbuRamadan || ticket:2605 || sortOperator || changeset:06dc33bd7 || Bang Pham Huu || ticket:2606 || NEW - wcst_import - automate setting gridOrder in ingredients || changeset:38e2800dd || Bang Pham Huu || ticket:2607 || NEW - petascope supports WMTS requests || changeset:7dc4fcfcc || Bang Pham Huu || ticket:2607 || FIX - WMTS requests to pass OGC CITE core tests || changeset:43860c1b9 || AbuRamadan || ticket:2610 || flipOperator || changeset:b50fb8c3f || Dimitar Misev || ticket:2610 || FIX improve docs on FLIP || changeset:ddf5c6aef || Dimitar Misev || ticket:2610 || FIX improve docs on FLIP || changeset:f8077ef9c || Dimitar Misev || ticket:2610 || improve documentation of SORT and FLIP operators || changeset:649dfbcdb || Bang Pham Huu || ticket:2612 || NEW - WCPS supports sort operator || changeset:2b2f8f812 || Bang Pham Huu || ticket:2613 || FIX - WCPS flip should use grid axis order not CRS axis order || changeset:d1b82b091 || Bang Pham Huu || ticket:2613 || NEW - WCPS supports flip operator || changeset:53ad35257 || Bang Pham Huu || ticket:2614 || NEW - petascope fixed WMTS TileMatrixSet cache || changeset:f8eb5ac59 || Bang Pham Huu || ticket:2615 || NEW - build query tree in WCPS || changeset:ebcc2156f || Bang Pham Huu || ticket:2618 || NEW - Optimize WCPS queries with scale() and subset operators || changeset:e97b946c1 || Bang Pham Huu || ticket:2619 || FIX - some scaling errors with LET clause in WCPS queries || changeset:3a67aa7fa || Bang Pham Huu || ticket:2620 || NEW - add new setting in GRIB recipe to select the wanted messages only || changeset:50752b710 || Bang Pham Huu || ticket:2621 || FIX - DescribeCoverage shows wrong coefficients for irregular axes when coverage slice is added at the bottom || changeset:0d621ce53 || Bang Pham Huu || ticket:2622 || wcst_import - FIX - default_null_values: [] should create a coverage will no null values || changeset:99828ddc0 || Bang Pham Huu || ticket:2623 || FIX - WMS allows to add request subset inside coverage expression in WCPS query fragment || changeset:a7a33b437 || Bang Pham Huu || ticket:2624 || FIX - null error when parsing compound-CRS while updating coverage || changeset:cbb7974c5 || Bang Pham Huu || ticket:2625 || FIX - WMS GetMap requests with non XY axis labels as request parameters || changeset:05e2143cc || Bang Pham Huu || ticket:2626 || FIX - WSClient non-XY axes sliders do not work properly || changeset:2e77861bf || Bang Pham Huu || ticket:2629 || FIX - WCPS is slow to process in case of having multiple binary expressions || changeset:b98147a14 || Bang Pham Huu || ticket:2630 || FIX - wcst_import netCDF recipe sets default irregular axis resolution = 1 if minBound = maxBound || changeset:56200af64 || Bang Pham Huu || ticket:2631 || FIX - WMS with mismached coefficients in irregular axes of coverages || changeset:f295b2cdf || Bang Pham Huu || ticket:2632 || NEW - WMS - support non-standard: random parameter to bypass browser's cache || changeset:f295b2cdf || Bang Pham Huu || ticket:2633 || FIX - only update WMS caches intersecting with a coverage slice when updating a coverage || changeset:fda9d624b || Bang Pham Huu || ticket:2633 || FIX - remove the WMS caches intersecting with an updating coverage slice's WGS84 bbox || changeset:97452821e || Bang Pham Huu || ticket:2634 || FIX - WCPS LET clause supports WKT expressions || changeset:7aebc947e || Bang Pham Huu || ticket:2636 || FIX - QGIS doesn't send GetMap requests to Petascope || changeset:7fc3e8321 || Bang Pham Huu || ticket:2636 || FIX - Use https for petascope endpoint by capturing X-Forwarded-Proto header || changeset:2ffa0bcbf || Bang Pham Huu || ticket:2637 || FIX - WCPS combines different grid domains in coverage condenser || changeset:21a0c98f1 || Bang Pham Huu || ticket:2638 || NEW - Allow trimming by imageCrsDomain expression || changeset:61f352236 || Bang Pham Huu || ticket:2639 || Fix- when creating pyramid members, it should not run UPDATE query from an empty base coverage || changeset:24e39d19d || Bang Pham Huu || ticket:2640 || FIX - wcst_import - timeout for analyzing input files || changeset:65ff2f583 || Dimitar Misev || ticket:2641 || run systemtest queries in parallel part 3 || changeset:e00fc6a21 || Dimitar Misev || ticket:2641 || run systemtest queries in parallel || changeset:f27454b99 || Dimitar Misev || ticket:2641 || run systemtest queries in parallel part 2 || changeset:ff1054599 || Bang Pham Huu || ticket:2642 || FIX - petascope passes OGC CITE raster conformance || changeset:d9765c2b7 || Bang Pham Huu || ticket:2643 || FIX - wcst_import import_order: none to disable sorting file paths || changeset:fe148b68b || Bang Pham Huu || ticket:2644 || FIX - Petascope updates doesn't update associated WMS layer == Version 10.0 and older == Older releases are documented on the [wiki:VersionsArchive versions archive page].