Skip to content

Latest commit

 

History

History
422 lines (412 loc) · 44.9 KB

CHANGELOG.md

File metadata and controls

422 lines (412 loc) · 44.9 KB

CHANGELOG

Version 3.15 (2024-10-01)

This release was tested under QGIS 3.34 (LTR) and 3.38 (latest release).

New Features

Applications

  • add algorithm and interactive tool for plotting trajectories of land cover change over time via Sankey plot #924

Data / Metadata Model

  • support temporal metadata provided by 'time' dimension in NetCDF files #906
  • support temporal metadata provided by .aux.json files created with R-cran terra package #907

GUI

  • [Data Views] add "Apply mask" option to the raster layer context menu #942

Processing Algorithms

  • Import USGS ASCII Speclib #302
  • add import algorithms for Planet Scope products #492
  • [Classification workflow] support OOB validation #910
  • [Create classification/regression/unsupervised dataset] store sample locations inside a dataset if available #911
  • [Classification workflow] add "classification layer accuracy and area report" output #912
  • implement "Create spectral library (from classification dataset)" #917
  • add algorithm and interactive tool for plotting trajectories of land cover change over time via Sankey plot #924
  • add algorithms for creating spectral library from classification/regression dataset #931
  • [Raster layer bounding polygon] add option for convex hull #950
  • [Analysis ready data] add algorithm for raster tiling #953
  • add "Aggregate raster layers" algorithm #956
  • add algorithm for creating a raster mask #959
  • [Import EnMAP L2A product] support L2A Analysis Ready Data from Geoservice / EOLAB #973
  • [Import EnMAP L2A product] derive bad band information from metadata file #974
  • in all algorithms with VRT raster output, also support GTiff and ENVI outputs #977

Miscellaneous

  • implement auto-generated changelog #938

Fixed Bugs

Show all (5)
  • Save current profiles on CTRL+S #871
  • [Spectral resampling] EMIT sensor is missing #891
  • [Classification layer accuracy and area report (for simple random sampling)] wrong confidence intervals for area estimates #909
  • Regression based unmixing | problem with implementation of LinearSVR #967
  • [Regression-based unmixing] _catboost.CatBoostError: Expected callable object or stream-like object #980

Version 3.14 (2024-04-11)

This release was tested under QGIS 3.34 (LTR) and 3.36 (latest release).

New Features

Applications

  • [Profile Analytics] allow aggregated Z-Profiles using a selected feature-geometry #261
  • [GDAL Metadata] rename "Range" band property to "Wavelength Range" #757

Data / Metadata Model

  • add support for STAC-like metadata sidecar files #753
  • [RasterWriter] dump all metadata into the *.stac.json sidecar file on object destruction #768

GUI

  • [Tools > Developers menu] add "Open Plugin Directory" button #666
  • Plot variance vs. components in PCA #668
  • [Data Sources panel] improve support for "Open in Explorer" option for vector sources #678
  • [Spectral View] better support for vector-layers without proper QML sidecar file #755
  • [Spectral View] add option/dialog for check/uncheck individual fields to be interpreted as SpectralProfile fields #758
  • [Spectral View] find SpectralProfile attributes automatically #778

Processing Algorithms

  • [ClassificationWorkflowAlgorithm] make input raster optional #631
  • add algorithm for deriving the bounding polygon of a raster layer #634
  • [Import XYZ product] set default style to TrueColor #635
  • implement processing algorithm for exporting classification dataset into FORCE text file formats #664
  • [Sample raster layer values algo] add "Skip no data pixel" option #682
  • [Class fraction layer from categorized vector layer] also support the raster case in the same algo #702
  • add algorithm for scaling/converting raster data #765
  • [Create classification dataset (from categorized spectral library)] add option for excluding bad bands #766
  • [Spectral resampling (to wavelength)] add option for selecting the nearest wavelength #801
  • [Classification layer accuracy and area report] add support for non-matching category names #845

Miscellaneous

  • [Scripts/EnFireMAP] add script for sampling point data from data cube #681
  • split and restructure the requirement.txt file by operating system and Python environment #701

Fixed Bugs

Show all (39)
  • [GEE Time Series Explorer] AttributeError: 'GeeTemporalProfileDockWidget' object has no attribute 'onDownloadLayerProfilesClicked' #691
  • splash screen not showing up on EnMAP-Box startup #714
  • Error in executing EnPT - EnMAP Processing Tool (v0.7.6) for Level-1B to Level-2A conversion #719
  • trouble with numba>=0.57 #735
  • [Data Views] spectral view layer legend not correctly updated #737
  • [Spectral View] "Automatically pan to current feature" in isn't working in Form View #750
  • [Layer Properties > GDAL Metadata] copy&paste wavelength values from ENVI Header to Band Metadata table isn't working #754
  • error from decorrelationstretchdialog.py : MinMaxScaler must be an instance of 'tuple'. Got [0, 255] instead #771
  • after stop vector editing, the "Add point feature" map tool is still shown #774
  • [Cursor location values panel] category color and name isn't shown for last category #775
  • [Classification layer accuracy and area report] layer styling is set back to default #776
  • test runs locally but fails in CI #781
  • [Spectral resampling] predefined sensors are not included in the plugin Zip #786
  • typeguard.TypeCheckError: argument "maxValue" (None) is not an instance of int #789
  • CatBoostClassifier #790
  • ModuleNotFoundError:No module named 'llvmlite.llvmpy' #791
  • [Spectral Processing] outputs aren't properly opened inside Data Sources panel and file locations aren't reported in the Log tab #798
  • Spectral resampling (to Sentinel-2A and B) fails with "failed to open spectral library: 'NoneType' object has no attribute 'source'" #803
  • macOS installation problem: installing the plugin starts a new QGIS instance #804
  • Avoid checks on equality of float results, use almostEqual instead #813
  • QGIS v.3-36 problem when enabling EnMap-Box #818
  • SaveLibraryAsGeoJsonAlgorithm fails to save Speclibs with MAP field #823
  • Select Features, AsdsertionError isinstance(mode, QgsMapToolSelectionHandler.SelectionMode) #827
  • ensomap: ImportError:cannot import name 'docstring' from 'matplotlib' (/home/alobo/.local/lib/python3.10/site-packages/matplotlib/init.py) #836
  • Missing Python Package(s) message is displayed at every start #837
  • enpt is missing and cannot be installed #839
  • macOS: ImportError: cannot import name 'DMD_CREATIONFIELDDATASUBTYPES' from 'osgeo.gdalconst' #843
  • [EnmapBoxSettings] boolean values are not correctly handled #851
  • Problem importing EnMAP data into QGIS 3.36 #862
  • AttributeError: 'NoneType' object has no attribute 'highlightedVariables' #863
  • [RasterReader] open a WMS layer with "openWithGdal=False" isn't working #865
  • EnMAP L2A data isn't scaled correctly between 0 and 1 #879
  • [Scale/truncate/convert raster layer] algo is placed in the wrong algo group #885
  • Couldn't load plugin 'enmapboxplugin' due to an error when calling its classFactory() method #886
  • [SpectralView] GeoJSON library with NaN values not correctly plotted #887
  • [Classification layer accuracy and area report] issue with unclassified pixel inside map #900
  • [Data Sources] right-click on nodes inside a model file (*.pkl) gives error #908
  • Spectral library axis flipped #916
  • [SpectralLibraryUtils] SpectralLibraryUtils.writeToSource is creating wrong CRS #936

Version 3.13 (2023-10-06)

This release was tested under QGIS 3.28 (LTR), 3.32 and 3.34 (latest release).

New Features

Applications

  • [Profile Analytics] auto-select a layer if none is selected yet #122
  • [GEE TSE] shortcut for opening the custom collections folder #395
  • [Raster Band Stacking] add option for preventing duplicated output band names #468
  • [Profile Analytics] link profiles into SpectralView as current profiles #530
  • [Profile Analytics] add option for linking profiles from GEE Time Series Explorer #531

Continuous Integration

  • add global option RAISE_ALL_EXCEPTIONS #598
  • [Mambaforge/Conda installation] add YML file for QGIS Long Term Release (LTR) environment #605

Data / Metadata Model

  • [Spectral resampling algos] introduce format for predefined sensors #579

GUI

  • [Project Settings] add Project Open/Save buttons to EnMAP-Box main menu #307
  • [Data Views panel] add context-menu shortcut for setting the layer name as map view name #387
  • [Spectral View] better support for GeoJSON format #423
  • [Project Settings] add Open Project button in Project menu #446
  • FR: EnMAP-BoxContextMenuProvider #513
  • [SpectralView] add distance xUnits #525
  • [Data Views panel] add "Make Permanent..." option to layer context menu #660

Processing Algorithms

  • make feature name matching optional and not the default in ML predictions #297
  • use direct assignment between band number and detector in EnMAP L2A product specified in the METADATA.XML #415
  • [Spectral Index Creator] add support for formulars with input bands given by center wavelength #456
  • [Import EnMAP L2A product] add "Exclude bad bands" option #461
  • [Classification workflow algo] the default feature matching by name is causing problems in case of duplicated names #467
  • implement algorithms for calculating spectral similarity between classes #469
  • [Class fraction layer from categorized vector layer] add option to exclude border pixel #478
  • [Raster math] add option for recoding input no data values #479
  • short of spectral separability tests #494
  • [Spectral resampling (to EnMAP)] update EnMAP sensor model #496
  • [Import EnMAP L2A product] support band order by detector #515
  • [Raster math] don't create empty band names by default #532
  • [Edit raster source band properties] allow expressions using counter variables to derive value lists #539
  • [Processing algorithms] add option for manual includes into auto-generated processing algo RST files #553
  • [Create classification/regression/unsupervised dataset algos] add "Exclude bad bands/features" option #560
  • [Spectral resampling (to spectral raster layer wavelength and FWHM)] allow to select non-raster files specifying center wavelength and fwhm #574
  • [Spectral resampling algos] add option for linear interpolation #580
  • implement random point-vector creation from raster layer value-ranges #593
  • implement an algorithm that creates a classification layer from a rendered image #611
  • [Spectral resampling] use a file output widget for writing the SRF #620
  • [Convolution filter algos] mark output no data bands as bad bands #637
  • [Subset raster layer bands] add "Derive and exclude additional bad bands" option #638
  • [Spectral Index Optimizer] filter non-finite values before fitting #718

Miscellaneous

  • [Spectral View] use @symbol_color by default for a new profile visualization #312
  • make example datasets (berlin, potsdam) available via Menu > Tools > Developers > Example Datasets #561
  • [Example Dataset] make the full EnMAP scene available for download #566
  • [Example Dataset Potsdam] add library and continuous-vector-layer #576
  • [Scripts] implement script for cutting EnMAP L2A scenes according to a given tiling scheme #583

Fixed Bugs

Show all (62)
  • [Profile Analytics] ignore or handle WMS layers properly #443
  • [Scripts/create_plugin.py] can't build plugin (somehow related to Markdown) #452
  • EnMAP-Box failing to load PRISMA data #455
  • New error when starting EnMap-Box #459
  • ValueError: ndarray is not C-contiguous #463
  • Ubuntu 22.04: No module named 'PyQt5.pyrcc_main' #466
  • [Classification workflow] temp files are written into the QGIS installation folder #477
  • ValueError: Input contains NaN, infinity or a value too large for dtype('float32'). #495
  • [Translate raster layer] data gain/offset is getting lost, when translation an EnMAP L2A VRT to GTiff format #501
  • Regression-based unmixing does not allow to select Endmember dataset #503
  • "Predict classification layer" can not use RFc model #504
  • Bug in beta leaf angle distribution within IVVRM (EnMAP-box 3.12.1) #507
  • FAILED tests/enmap-box/enmapboxprocessing/test_utils.py::TestUtils::test_gdalDataTypeToNumpyDataType #508
  • [Data Views panel] opening the layer properties from the context menu not working #541
  • Convolution Algorithm tests #542
  • Plugin EnmapBox crashed QGIS #546
  • Warning on startup: "Agricultural Applications already loaded" #568
  • [Data Sources] Right-click list index out of range #569
  • Can not open Map View #570
  • [Map View] context menu content is shown twice #572
  • [Spectral View] profiles not correctly displayed #581
  • TypeError when running PRISMA L2D import in batch #584
  • [Processing] clicking the "Run as Batch Process" button when running in PyCharm not working #585
  • [Spectral convolution Ricker Wavelet filter] ValueError: Setting nan_treatment='interpolate' requires the kernel to be normalized #587
  • ModuleNotFoundError: No module named 'enmapboxexampledata' #588
  • [Raster math] broken link #591
  • import L2A EnMAP data - error #595
  • Raster Math IndexError: list index out of range #601
  • AttributeError:module 'numpy' has no attribute 'float'. #604
  • ValueError: node array from the pickle has an incompatible dtype #614
  • [Raster math] make the default output optional #615
  • [QPS readENVIHeader] reading header file fails if binary file isn't available #622
  • classificationfromrenderedimagealgorithm.py: TypeError (Python 3.10) #626
  • [Location Browser] gives requests.exceptions.JSONDecodeError #636
  • [Location Browser] Geocoding search not working #639
  • [Import Spectral Profiles dialog] Raster Layer imports are not correctly scaled und no-data values aren't correctly set to NaN #641
  • [Spectral View] raster wavelength not recognized #642
  • [Spectral Processing] progress bar indicates processing after algorithm finishes #643
  • [Spectral Processing] after clicking on "Run" the dialog should be switching to the "Log" tab #644
  • [Spectral Processing] Python crashes when selecting "Translate raster layer" #645
  • [Spectral Processing] algo parameters not shown #647
  • [Profile Analystics] Open within QGIS causes TypeError #649
  • ERROR #654
  • [Processing algorithm dialog] outdated link for the Help button #659
  • [PIP Package Installer] is broken #671
  • Documentation on Installation #672
  • [Classification workflow] not working with testdataset #688
  • EnMap installation - trouble with Python library #690
  • Error loading 'Classification Workflow (Advanced) #694
  • EnmapBox cannot be installed through flatpack #707
  • AttributeError: type object 'QgsMapLayerProxyModel' has no attribute 'Filters' #713
  • [Spectral View] collected pixel profiles aren't showing up inside a map view #720
  • [Class separability report algo] output is printed into the QGIS Python Console instead of the algo log #722
  • Link for requirements in docs not valid #725
  • [Regression layer accuracy report] scatter plot figures not shown in report #727
  • [Spectral View] GeoJSON library not correctly visualized #731
  • [Map View] Setting QGIS Map center/extent does not work #738
  • [Scatter Plot] funny behaviour on move houver event for empty plots #745
  • [PIP Installer] subprocess.CalledProcessError: Command '...\Python39\python3.exe -m pip list' returned non-zero exit status 1. #760
  • [Save raster layer as] Output options aren't applied #808
  • Decorrelation stretch rendering does not work #811
  • [Spectral View] import profiles from raster isn't working #819

Version 3.12 (2023-04-04)

This release was tested under QGIS 3.28 (LTR).

New Features

Applications

  • implement a Raster Band Stacking (EO4Q) app #155
  • Implement a Location Browser [EO4Q] app #200
  • implement Sensor Product Import (EO4Q) app #211
  • [Location Browser] support WKT geometries #218
  • [Profile Analytics] add code editor widget #229
  • connect to the QGIS Temporal Controller panel and add support for temporal raster stacks #245
  • [Raster Layer Styling] add a range-slider for interactively masking values to be displayed #247
  • [Temporal Raster Stack Controller] add support for QgsPalettedRasterRenderer #255
  • [RasterReader API class] implement method that returns pixel-wise cover fractions of a polygon-geometry #263
  • [Profile Analytics] implement temporal timeseries fitting UFUNC using RBF Ensemble approach #273
  • [GEE TSE app] properly handle missing STAC files for custom collections #369
  • [Spectral Index Creator] use full name as band name #390

Continuous Integration

  • enmapboxtestdata.SensorProducts problems #318

Data / Metadata Model

  • support NETCDF_DIM_time format as date time metadata #251

GUI

  • allow to open/import external sensor products like Landsat via drag&drop of the products folder #124
  • [Spectral Library View] use speclib default style #197
  • allow to store project settings #201

Processing Algorithms

  • [Import EnMAP L2A product algorithm] add options for handling the detector overlap #216
  • [Raster math] improve temp-variable handling #235
  • [Regression-based unmixing] add option for sum of unmixing to 1 constraint #239
  • implement a simple and interactive 3D spectral data cube visualization #272
  • implement EMIT L2A sensor product import algorithm #278
  • [Create spectral indices algorithm] result VRT shouldn't be dependent on _temp folder #292

Miscellaneous

  • implement a MultipleRasterBandSelectionWidget #180
  • implement a Resource Gallery dev-tool #193
  • implement a custom BuildVrtStack function #217
  • Reporting #258
  • make typeguard optional #345

Fixed Bugs

Show all (69)
  • The setup for testing non-blocking-dependencies is gone. #176
  • CatBootRegressor issue #189
  • [Regression Workflow] TypeError: type of argument "meanAbsoluteError" must be either float or int #190
  • [Create classification dataset (from categorized vector layer with attribute table) algo] can't select vector table as input #198
  • [Raster Band Stacking] Toggle Selection is not working correctly #208
  • [GEE TSE] data is not scaled before index calculation #210
  • [Raster Layer Styling] error when changing from multiband to singleband raster #213
  • [Sensor Product Import] cancelling the import algo will still open the metadata file #214
  • glossary links are missing in algorithm descriptions #233
  • [Raster math] using vector fields not working #236
  • [GEE TSE] data stretch is not working in Composite Mode #244
  • [Profile Analytics] problem with layers that have no CRS set #252
  • [Temporal Raster Stack Controller] the toolbar button is toggeling all layers and not only the selected once #254
  • [Sensor Product Import] panel is not showing up in QGIS when clicking the toolbar button #259
  • improve EnMAP L2B product export to ENVI BSQ format #267
  • [S2 Product Import] Dataset Metadata is dropped in the stacking #269
  • [Spectral profile sources] Python error when selecting raster source #275
  • [Data Sources] Opening vector sources with multiple layers (e.g. GPKG) #286
  • ModuleNotFoundError: No module named 'enmapbox.settings' #287
  • [Sensor Product Import] wrong PRISMA algorithm is triggered #289
  • Spectral Convolution Savitsky-Golay Filter issue #306
  • [Save raster layer as] error when saving to temp-file #310
  • [Spectral View] when opening a library, the attribute table is shown, but the corresponding button isn't checked #311
  • [Spectral View] Save Edits is messing up attribute table values #315
  • Mac users: application "Soil applications -->Ensomap" not available #327
  • TypeError: Subscripted generics cannot be used with class and instance checks #330
  • [Location Browser] error in case of no map view available #335
  • [GEE Time Series Explorer] panel is not showing up #337
  • [Sensor data import] EnMAP L1C data import fails #338
  • [GEE Time Series Explorer] Collections don't load #339
  • [Create regression dataset (from continuous-valued vector layer and feature raster)] extent mismatch error #341
  • Missing packages after upgrading 3.11.1 to 3.12alpha7. #351
  • ModuleNotFoundError: No module named 'pkg_resources' #357
  • RasterReader fails to read wavelength and wavelength units from QML #358
  • [GEE TSE app] fix typo in collection #364
  • AttributeError: type object 'SensorProducts' has no attribute 'Enmap' #365
  • Several unit test errors #366
  • Moving Spectral Library view causes AttributeError: 'NoneType' object has no attribute 'moveDock' #375
  • syntax error within "Spectral Profiles Sources" window #376
  • AttributeError: 'NoneType' object has no attribute 'dataSources' #377
  • AttributeError: 'NoneType' object has no attribute 'floatDock' #379
  • [Location Browser app] cleanup old boundary layer from the data sources panel #388
  • [Import Sentinel-2 L2A product] data is not scaled between 0 and 1 #391
  • Problems with Spectral Viewer #392
  • Wrong GitHub clone URL #393
  • [Spectral View] raster layer renderer bar not shown for SingleBandPseudocolor renderer #394
  • [Data Sources] error when opening a vector layer in QGIS 3.30.0 #396
  • [Convex hull and continuum-removal] incorrect output for EnMAP L2A products #397
  • typeguard.TypeCheckError: mList is not an instance of PyQt5.QtWidgets.QListWidget #398
  • QGIS crashes when activating the EnMAP-Box plugin #403
  • "TypeError: 'NoneType' object is not subscriptable" when opening a saved project in QGIS #414
  • [QPS] SpectralLibrary class is deprecated, replace usages with SpectralLibraryUtils #417
  • [qps] Can not read HDF4 error while Box is not opened/used #418
  • [Spectral View] content of GeoJSON file not correctly recognized #422
  • several icons aren't available anymore #429
  • ValueError: unsupported data type: int64 #433
  • SpectralLibrary class was removed and replaced by QgsVectorLayer, which causes unittests to fail #434
  • PytestCollectionWarning: cannot collect test class 'TestCase' because it has a init constructor #438
  • OSError: [Errno 6] No such device or address, SensorProducts #439
  • TestClassFractionRenderer: sklearn.utils._param_validation.InvalidParameterError #440
  • TypeError: type of argument "value" must be one of (int, str); got numpy.int64 instead #448
  • Couldn't load plugin 'enmapboxplugin' due to an error when calling its classFactory() method #453
  • Import Spectral Profiles -> from Raster Layer dialog #454
  • Incorrect geocoding of PRISMA L2D data imported via Import dialog #473
  • Pixel Profile: Spectral Library Viewer does not open #488
  • [Spectral resampling (to Landsat 4/5 TM)] resampling an EnMAP L2A to Landsat isn't working correctly #490
  • IndexError when trying to import PRISMA L2D data #497
  • AttributeError: module 'numpy' has no attribute 'float' #510
  • TypeError: QgsMapToolAddFeature.init() got multiple values for argument 'mode' #516

Version 3.11 (2022-10-09)

This release was tested under QGIS 3.26.

New Features

Applications

  • Interactive setting of bad bands in the Raster Layer Styling/Gray #31
  • support spatial profile plotting #58
  • add dual-band pseudocolor renderer #70
  • implement 3-band HSV color model renderer #73
  • implement 4-band CMYK color model renderer #74
  • [Bivariate Color Raster Renderer app] make upper-right color optional #77
  • [Bivariate Color Raster Renderer app] add user defined min/max settings #79
  • implement a Profile Analytics app #81
  • implement RGB renderer with bands from multiple raster sources #112

Continuous Integration

  • Setup GH Action to check code styling #13
  • Setup GH Actions to check unittests #14

Data / Metadata Model

  • allow human-readable JSON version of the PKL dataset #21
  • support old FORCE v1.2 TSI format #111

Processing Algorithms

  • reimplement Reclassify app and algorithm #15
  • [Spectral Index Optimizer algorithm] make it a core algo and overhaul #19

Miscellaneous

  • Application path not initialized #4
  • RasterReader wavelength fails with FORCE TSI images #9

Fixed Bugs

Show all (49)
  • link extraction from glossary.rst is broken #1
  • temporal pixel profile from FORCE TSI raster not correctly displayed in SpectralView #5
  • several exampledata files are missing #7
  • fix DeprecationWarning: QgsMapLayer.saveDefaultStyle() is deprecated message, success = layer.saveDefaultStyle() #8
  • 'there is no matching overloaded signal' error on identify cursor location value #12
  • SVR errors #18
  • Color Space Explorer becomes unresponsive after using Decorrelation Stretch Renderer #27
  • Read and apply hdr field "default bands" if present for initial color composite display #28
  • Impossible to add created vector to a new/existing map via data source context menu #32
  • Attribute form doesn't appears on EnMAP-Box map #33
  • [Data source tree] GEE Data Catalog Plugin color composition doesn't work #34
  • Sample raster layer values error : "TypeError: type of argument "coverageMin" must be int; got float instead" #35
  • dropping a Sentinel-2 product into the MapView area isn't triggering the correct import algorithm #42
  • Replace or remove user specific / local file paths #45
  • RasterReader: undefined name Qgis #46
  • Error mouse move? #50
  • Drag&drop EnMAP-Box source to QGIS will open the source twice #60
  • [GEE TSE app] change from S2_SR collection to S2_SR_HARMONIZED #64
  • bad behaviour when dropping a raster layer on a map view that has no default style #80
  • [Spectral Profile Sources panel] using Source = "Last raster layer" not working #83
  • SpectralProfile widget type is shown twice #86
  • Process ApplyMaskLayerToRasterLayer fails with an AttributeError #87
  • SpatialPoint.toPixelPosition is broken #88
  • Raster Math error #92
  • [Apply mask layer to raster layer] cannot convert float NaN to integer #95
  • [Raster layer styling panel] Remove style for defaut wms #96
  • incorrect symbol in plot style widget #97
  • dropping PRISMA product into EnMAP-Box is broken #100
  • [EnGeoMAP] GUI does not start #101
  • ModuleNotFoundError: No module named 'geetimeseriesexplorerapp' #105
  • Blank red band when adding multiband raster layer in default colors (RGB) #106
  • Missing test or example files #110
  • [Processing] scipy ndimage filters "layers were not correctly generated" #116
  • [Processing] Stack raster layers - 'RasterWriter' object has no attribute 'removeMetadata' #117
  • [Classification layer accuracy report] TypeError #120
  • [Create RGB from Class Probabilitiy / Fraction Layer algo] RuntimeError #133
  • Error in "Class fraction layer from categorized vector layer" #135
  • [About window] Licence "File not found" #136
  • [Processing toolbox] Debugging algo in list #139
  • [HSV Renderer] displayed image is all black #140
  • QgsMapLayer menus are not created in case of ModuleNotFound exceptions in sub-applications #143
  • [GDAL Metadata] editing metadata is broken (ENVI files only) #147
  • remove "float" button for already floating views #157
  • [Save raster layer as algo] fix algo description #168
  • Create classification dataset (from categorized vector layer and feature raster) error #177
  • location map tool is broken #242
  • [Map View] 'QgsPointXY' object has no attribute 'toCrs' #243
  • [GEE Time Series Explorer] fix problem with STAC format changes #283
  • netCDF4 requirement blocks main GUI #401