<h1>CHANGELOG</h1><h2>Version 3.17 (2025-11-09)</h2><p><em>This release was tested under QGIS 3.40 (LTR) and 3.44 (latest release).</em></p><h3>New Features</h3><ul><li>EnMAP-Box opens Tanager *.h5 files and reads wavelength information</li><li>separate QgsProjects: EnMAP-Box widgets now show layers that are opened in EnMAP-Box only</li><li>revisited start of processing algorithms</li><li>if started from EnMAP-Box, the results returned from QGIS Processing Algorithms are  added directly to the EnMAP-Box, keeping the QGIS Project clean</li><li>a new dialog allows selecting layers from the main QGIS to be added as data  sources (<a href="https://github.com/EnMAP-Box/enmap-box/pull/1487">#1487</a>)</li><li>added support for vector tile layers (<a href="https://github.com/EnMAP-Box/enmap-box/issues/860">#860</a>)</li></ul><h4>Spectral Library Viewer</h4><p>The Spectral Library Viewer and the I/O for external spectral library formatshave been completely redesigned (qps issues <a href="https://github.com/EnMAP-Box/qgispluginsupport/issues/100">100</a> and<a href="https://github.com/EnMAP-Box/qgispluginsupport/issues/113">113</a>:</p><ul><li>faster reading and visualization of spectral profiles</li><li>a single viewer can visualize profiles from different vector layers</li><li>added interactive legend that allows hiding / showing single profiles</li><li>added profile statistics, e.g. mean and stddev profiles</li><li>import and export of spectral profiles has been completely revised and  is now implemented as QGIS Processing Algorithms (see below)</li><li>supports import of ECOSTRESS data</li><li>new "Data" field allows modifying x and y values, e.g., to scale profile  values <a href="https://github.com/EnMAP-Box/enmap-box/issues/1459">#1459</a></li><li>fixed several visual glitches in the plot settings and profile source trees (text colors, sizes)</li><li>Attribute table, form view: JSON viewer shows list values in one line, fixed saving and loading of changed profile  data</li><li>vector sources can be dropped from data-source panel onto the spectral library  viewer <a href="https://github.com/EnMAP-Box/enmap-box/issues/1501">#1501</a></li><li>increase the minimum size of spectral profile editor  widgets <a href="https://github.com/EnMAP-Box/enmap-box/issues/1509">#1509</a></li></ul><h4>Applications</h4><ul><li>[Spectral Index Explorer] overhaul the Spectral Index Creator and make it an EO4Q  app <a href="https://github.com/EnMAP-Box/enmap-box/issues/1199">#1199</a></li><li>[EnSoMAP] Add new “SOC Index: R478/(R659*R546)” <a href="https://github.com/EnMAP-Box/enmap-box/issues/1250">#1250</a></li></ul><h4>Processing Algorithms</h4><ul><li>[Analysis ready data] add algorithm for raster aggregation <a href="https://github.com/EnMAP-Box/enmap-box/issues/957">#957</a></li><li>[Analysis ready data] add algorithm for EnMAP L2A raster  tiling <a href="https://github.com/EnMAP-Box/enmap-box/issues/1159">#1159</a></li><li>[Classification/Regression accuracy report] add data sources to  report <a href="https://github.com/EnMAP-Box/enmap-box/issues/1177">#1177</a></li><li>[Aggregate raster layers] improve performance <a href="https://github.com/EnMAP-Box/enmap-box/issues/1231">#1231</a></li><li>[Aggregate raster layers] support external masks <a href="https://github.com/EnMAP-Box/enmap-box/issues/1233">#1233</a></li><li>[Create mask raster layer] add support for in-memory  output <a href="https://github.com/EnMAP-Box/enmap-box/issues/1237">#1237</a></li><li>[Save raster layer as] add support for layer with non-GDAL  provider <a href="https://github.com/EnMAP-Box/enmap-box/issues/1248">#1248</a></li><li>Added <em>Import Spectral Profiles</em></li><li>Added <em>Export Spectral Profiles</em></li><li>Added <em>Extract Spectral Profiles from raster layer</em></li></ul><h4>Miscellaneous</h4><ul><li>[Changelog] add support for manual editing <a href="https://github.com/EnMAP-Box/enmap-box/issues/1119">#1119</a></li><li>[Class Fraction/Probability Renderer] match categories by name when pasting a  style  <a href="https://github.com/EnMAP-Box/enmap-box/issues/1178">#1178</a></li><li>add algorithm for converting absolute filenames into relative filenames inside a  VRT <a href="https://github.com/EnMAP-Box/enmap-box/issues/1195">#1195</a></li><li>[Testdata] add support for testdata management in stand-alone  QGIS <a href="https://github.com/EnMAP-Box/enmap-box/issues/1227">#1227</a></li><li>Update HTML report style <a href="https://github.com/EnMAP-Box/enmap-box/issues/1247">#1247</a></li><li>Use EnMAPBox.project() <a href="https://github.com/EnMAP-Box/enmap-box/issues/1272">#1272</a></li><li>[Spectral View] can't create a new and empty spectral view <a href="https://github.com/EnMAP-Box/enmap-box/issues/1310">#1310</a></li><li>[Spectral View] deactivated candidate profile is still  displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/1330">#1330</a></li><li>unified config files <a href="https://github.com/EnMAP-Box/enmap-box/issues/1332">#1332</a></li></ul><h3>Fixed Bugs</h3><ul><li>[Data sources] Drag &amp; Drop of temporary vector layers not  working <a href="https://github.com/EnMAP-Box/enmap-box/issues/877">#877</a></li><li>[SpectralLibraryUtils] SpectralLibraryUtils.writeToSource crashes, when using *.geojson  filenames <a href="https://github.com/EnMAP-Box/enmap-box/issues/926">#926</a></li><li>GDAL Metadata widget: Paste option is always greyed <a href="https://github.com/EnMAP-Box/enmap-box/issues/1059">#1059</a></li><li>Import of USGS Spectral Library Version 7 failed <a href="https://github.com/EnMAP-Box/enmap-box/issues/1094">#1094</a></li><li>[Regression-based Unmixing] fails to save output files as  .bsq <a href="https://github.com/EnMAP-Box/enmap-box/issues/1134">#1134</a></li><li>[Scatter Plot] AttributeError: 'NoneType' object has no attribute '  mapSettings' <a href="https://github.com/EnMAP-Box/enmap-box/issues/1141">#1141</a></li><li>[CI] TestPrepareRegressionDatasetFromContinuousVectorAlgorithm.test_excludeBadBands fails with AssertionError: 218 !=  0 <a href="https://github.com/EnMAP-Box/enmap-box/issues/1153">#1153</a></li><li>test_TranslateRasterAlgorithm fails with: assert outGdalDataset is not  None <a href="https://github.com/EnMAP-Box/enmap-box/issues/1156">#1156</a></li><li>[Import Sentinel-2 L2A product] missing CRS <a href="https://github.com/EnMAP-Box/enmap-box/issues/1163">#1163</a></li><li>Error Importing L2A EnMAP file, when Windows Path is too  long <a href="https://github.com/EnMAP-Box/enmap-box/issues/1166">#1166</a></li><li>[Profile Analytics] UDF error messages aren't printed  correctly <a href="https://github.com/EnMAP-Box/enmap-box/issues/1188">#1188</a></li><li>Error executing python <a href="https://github.com/EnMAP-Box/enmap-box/issues/1200">#1200</a></li><li>Raster Layer Styling does not read tanager wavelengths <a href="https://github.com/EnMAP-Box/enmap-box/issues/1208">#1208</a></li><li>Drag &amp; Drop Tanager .h5 file fails <a href="https://github.com/EnMAP-Box/enmap-box/issues/1209">#1209</a></li><li>ENVI spectra library reading: GDAL_VRT_RAWRASTERBAND_ALLOWED_SOURCE GDAL  3.12+ <a href="https://github.com/EnMAP-Box/enmap-box/issues/1214">#1214</a></li><li>PyPI Package Info: unable to disable missing package warning for enpt-enmapbox  app <a href="https://github.com/EnMAP-Box/enmap-box/issues/1221">#1221</a></li><li>Dependency list requires updating <a href="https://github.com/EnMAP-Box/enmap-box/issues/1224">#1224</a></li><li>[Data Sources panel] in-memory output layer not correctly  opened <a href="https://github.com/EnMAP-Box/enmap-box/issues/1226">#1226</a></li><li>EnMap-Plugin fails to load on macOS QGIS 3.40.5 –  Bratislava <a href="https://github.com/EnMAP-Box/enmap-box/issues/1236">#1236</a></li><li>[Classification workflow] AssertionError: empty strata detected: {1, 2, 3,  4} <a href="https://github.com/EnMAP-Box/enmap-box/issues/1240">#1240</a></li><li>Another value error in raster layer styling panel <a href="https://github.com/EnMAP-Box/enmap-box/issues/1245">#1245</a></li><li>Tanager Core Imagery Sample raises exception <a href="https://github.com/EnMAP-Box/enmap-box/issues/1257">#1257</a></li><li>[PyPi Package Info] don't show a warning for missing packages, which aren't included in the  requirements_osgeo4w.txt <a href="https://github.com/EnMAP-Box/enmap-box/issues/1258">#1258</a></li><li>RasterReader fails to read Tanager wavelength information <a href="https://github.com/EnMAP-Box/enmap-box/issues/1259">#1259</a></li><li>ImportEnmapL2AAlgorithm can't deal with "_COG.TIF" for Level2A EnMap Data from DLR Geoservice  STAC <a href="https://github.com/EnMAP-Box/enmap-box/issues/1260">#1260</a></li><li>Import EnMAP L2A product <a href="https://github.com/EnMAP-Box/enmap-box/issues/1262">#1262</a></li><li>[CI] test_SpectralResamplingByWavelengthAndFwhmAlgorithm: AssertionError: -36108144.0 != np.float32(  -3.610814e+07) <a href="https://github.com/EnMAP-Box/enmap-box/issues/1266">#1266</a></li><li>test_ConvexHullAlgorithm fail <a href="https://github.com/EnMAP-Box/enmap-box/issues/1267">#1267</a></li><li>MaskRasterDataProvider causes SegFaults <a href="https://github.com/EnMAP-Box/enmap-box/issues/1268">#1268</a></li><li>RasterLayerStyling Panel causes QGIS crash by segfault <a href="https://github.com/EnMAP-Box/enmap-box/issues/1271">#1271</a></li><li>[CI] test_CreateMaskAlgorithm.py several tests fail <a href="https://github.com/EnMAP-Box/enmap-box/issues/1276">#1276</a></li><li>several apps define a QDockWidget inside the UI file but refer to it as a QgsDockWidget in the PY  file <a href="https://github.com/EnMAP-Box/enmap-box/issues/1283">#1283</a></li><li>Sensor Import Panel fails on linux &amp; macOS <a href="https://github.com/EnMAP-Box/enmap-box/issues/1295">#1295</a></li><li>[Processing] AttributeError: 'NoneType' object has no attribute '  mapTool' <a href="https://github.com/EnMAP-Box/enmap-box/issues/1300">#1300</a></li><li>[Processing] layer list shows old layers, which aren't available  anymore <a href="https://github.com/EnMAP-Box/enmap-box/issues/1301">#1301</a></li><li>Raster Band stacking fails to stack Sentinel-2 bands <a href="https://github.com/EnMAP-Box/enmap-box/issues/1302">#1302</a></li><li>[Profile Analytics] RecursionError: maximum recursion depth  exceeded <a href="https://github.com/EnMAP-Box/enmap-box/issues/1309">#1309</a></li><li>[Data Sources] the node to the actual speclib is missing <a href="https://github.com/EnMAP-Box/enmap-box/issues/1311">#1311</a></li><li>[Profile Analytics] AttributeError: 'SpectralLibraryDock' object has no attribute '  speclib' <a href="https://github.com/EnMAP-Box/enmap-box/issues/1323">#1323</a></li><li>candidate profiles aren't plotted correctly in second Spectral  View <a href="https://github.com/EnMAP-Box/enmap-box/issues/1325">#1325</a></li><li>candidate profile not plotted correctly and profile wrongly added to source (edits file on  disk) <a href="https://github.com/EnMAP-Box/enmap-box/issues/1326">#1326</a></li><li>[Spectral View] deactivated candidate profile is still  displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/1330">#1330</a></li><li>[Spectral View] default candidate profile style changes after adding new  visualization <a href="https://github.com/EnMAP-Box/enmap-box/issues/1331">#1331</a></li><li>Plugin metadata.txt about text <a href="https://github.com/EnMAP-Box/enmap-box/issues/1333">#1333</a></li><li>Remove closed dock instances <a href="https://github.com/EnMAP-Box/enmap-box/issues/1336">#1336</a></li><li>Raster Layer Styling panel fails to initialize slider  positions <a href="https://github.com/EnMAP-Box/enmap-box/issues/1339">#1339</a></li><li>[Spectral View] when adding a feature in a visualized speclib, the plot is not  updated <a href="https://github.com/EnMAP-Box/enmap-box/issues/1345">#1345</a></li><li>processing algorithm CLI help text contain HTML tags <a href="https://github.com/EnMAP-Box/enmap-box/issues/1348">#1348</a></li><li>ENVI BSQ files can be opened by drag and drop <a href="https://github.com/EnMAP-Box/enmap-box/issues/1382">#1382</a></li><li>[Spectral View] fixed extraction of profiles from raster  image <a href="https://github.com/EnMAP-Box/enmap-box/issues/1383">#1383</a></li><li>[Spectral View] export spectral profiles uses current speclib and field  as default input <a href="https://github.com/EnMAP-Box/enmap-box/issues/1401">#1401</a></li><li>[Spectral View] profile candidates get also shown when selected-features-only mode is activated</li><li>Vector layer properties dialag: activated the button to start / stop the editing  mode <a href="https://github.com/EnMAP-Box/enmap-box/issues/1489">#1489</a></li><li>fixed a bug that occured on Linux native installations on moving of map views</li></ul><h2>Version 3.16 (2025-03-24)</h2><p><em>This release was tested under QGIS 3.40 (LTR) and 3.42 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>add application for semantic segmentation via deep  learning <a href="https://github.com/EnMAP-Box/enmap-box/issues/1068">#1068</a></li></ul><h4>Data / Metadata Model</h4><ul><li>[RasterReader] support raster data reading with on-the-fly  reprojection <a href="https://github.com/EnMAP-Box/enmap-box/issues/1005">#1005</a></li><li>[RasterReader] support raster band level CENTRAL_WAVELENGTH_UM and FWHM_UM metadata in the GDAL IMAGERY  domain <a href="https://github.com/EnMAP-Box/enmap-box/issues/1078">#1078</a></li></ul><h4>Processing Algorithms</h4><ul><li>[Create spectral indices] support indices specified by JSON  file <a href="https://github.com/EnMAP-Box/enmap-box/issues/988">#988</a></li><li>[Create spectral indices] add soil organic carbon index <a href="https://github.com/EnMAP-Box/enmap-box/issues/1009">#1009</a></li></ul><h4>Miscellaneous</h4><ul><li>[Import Spectral Profiles] add support for Spectra Vista Corp-SVC Field  Spectrometers <a href="https://github.com/EnMAP-Box/enmap-box/issues/662">#662</a></li><li>add QLabel that scales pixmaps while keeping aspect ration <a href="https://github.com/EnMAP-Box/enmap-box/issues/1114">#1114</a></li></ul><h3>Fixed Bugs</h3><ul><li>Error in yml file for conda environment <a href="https://github.com/EnMAP-Box/enmap-box/issues/1010">#1010</a></li><li>[Classification layer accuracy report] KeyError: '  accuracy' <a href="https://github.com/EnMAP-Box/enmap-box/issues/1070">#1070</a></li><li>[Spectral View] saving spectral library modification breaks profile plot in editor  widget <a href="https://github.com/EnMAP-Box/enmap-box/issues/1080">#1080</a></li><li>Cannot open true color a file <a href="https://github.com/EnMAP-Box/enmap-box/issues/1088">#1088</a></li><li><p>removed dependency on gdal.const.DMD_CREATIONFIELDDATASUBTYPES #858,  #886, <a href="https://github.com/EnMAP-Box/enmap-box/issues/986">#986</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/843">#843</a></p></li><li><p>fixed copy &amp; paste of layer rendering styles <a href="https://github.com/EnMAP-Box/qgispluginsupport/issues/86">#qps 86</a></p></li><li><p>typeguard version 3+ is not  supported <a href="https://github.com/EnMAP-Box/enmap-box/issues/430">#430</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/398">#398</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/455">#455</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/789">#789</a> <a href="https://github.com/EnMAP-Box/enmap-box/issues/1096">#1096</a></p><ul><li>typeguard v3+ has severe performance problems</li><li>freezed typeguard to v2.13.3 and shipped as enmapbox.typeguard</li></ul></li></ul><h2>Version 3.15 (2024-10-11)</h2><p><em>This release was tested under QGIS 3.34 (LTR) and 3.38 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>add algorithm and interactive tool for plotting trajectories of land cover change over time via Sankey  plot <a href="https://github.com/EnMAP-Box/enmap-box/issues/924">#924</a></li></ul><h4>Data / Metadata Model</h4><ul><li>support temporal metadata provided by 'time' dimension in NetCDF  files <a href="https://github.com/EnMAP-Box/enmap-box/issues/906">#906</a></li><li>support temporal metadata provided by .aux.json files created with R-cran terra  package <a href="https://github.com/EnMAP-Box/enmap-box/issues/907">#907</a></li></ul><h4>GUI</h4><ul><li>[Data Views] add "Apply mask" option to the raster layer context  menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/942">#942</a></li></ul><h4>Processing Algorithms</h4><ul><li>Import USGS ASCII Speclib <a href="https://github.com/EnMAP-Box/enmap-box/issues/302">#302</a></li><li>add import algorithms for Planet Scope products <a href="https://github.com/EnMAP-Box/enmap-box/issues/492">#492</a></li><li>[Classification workflow] support OOB validation <a href="https://github.com/EnMAP-Box/enmap-box/issues/910">#910</a></li><li>[Create classification/regression/unsupervised dataset] store sample locations inside a dataset if  available <a href="https://github.com/EnMAP-Box/enmap-box/issues/911">#911</a></li><li>[Classification workflow] add "classification layer accuracy and area report"  output <a href="https://github.com/EnMAP-Box/enmap-box/issues/912">#912</a></li><li>implement "Create spectral library (from classification  dataset)" <a href="https://github.com/EnMAP-Box/enmap-box/issues/917">#917</a></li><li>add algorithm and interactive tool for plotting trajectories of land cover change over time via Sankey  plot <a href="https://github.com/EnMAP-Box/enmap-box/issues/924">#924</a></li><li>add algorithms for creating spectral library from classification/regression  dataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/931">#931</a></li><li>[Raster layer bounding polygon] add option for convex hull <a href="https://github.com/EnMAP-Box/enmap-box/issues/950">#950</a></li><li>[Analysis ready data] add algorithm for raster tiling <a href="https://github.com/EnMAP-Box/enmap-box/issues/953">#953</a></li><li>add "Aggregate raster layers" algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/956">#956</a></li><li>add algorithm for creating a raster mask <a href="https://github.com/EnMAP-Box/enmap-box/issues/959">#959</a></li><li>[Import EnMAP L2A product] support L2A Analysis Ready Data from Geoservice /  EOLAB <a href="https://github.com/EnMAP-Box/enmap-box/issues/973">#973</a></li><li>[Import EnMAP L2A product] derive bad band information from metadata  file <a href="https://github.com/EnMAP-Box/enmap-box/issues/974">#974</a></li><li>in all algorithms with VRT raster output, also support GTiff and ENVI  outputs <a href="https://github.com/EnMAP-Box/enmap-box/issues/977">#977</a></li></ul><h4>Miscellaneous</h4><ul><li>implement auto-generated changelog <a href="https://github.com/EnMAP-Box/enmap-box/issues/938">#938</a></li><li>update script conda environments <a href="https://github.com/EnMAP-Box/enmap-box/issues/951">#951</a></li></ul><h3>Fixed Bugs</h3><ul><li>Save current profiles on CTRL+S <a href="https://github.com/EnMAP-Box/enmap-box/issues/871">#871</a></li><li>[Spectral resampling] EMIT sensor is missing <a href="https://github.com/EnMAP-Box/enmap-box/issues/891">#891</a></li><li>[Classification layer accuracy and area report (for simple random sampling)] wrong confidence intervals for area  estimates <a href="https://github.com/EnMAP-Box/enmap-box/issues/909">#909</a></li><li>Regression based unmixing | problem with implementation of  LinearSVR <a href="https://github.com/EnMAP-Box/enmap-box/issues/967">#967</a></li><li>[Regression-based unmixing] _catboost.CatBoostError: Expected callable object or stream-like  object <a href="https://github.com/EnMAP-Box/enmap-box/issues/980">#980</a></li><li>[changelog] fix collapsable section for issues <a href="https://github.com/EnMAP-Box/enmap-box/issues/990">#990</a></li><li>[Location Browser] requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char    0) <a href="https://github.com/EnMAP-Box/enmap-box/issues/1017">#1017</a></li><li>[Import XYZ product] performance issue with scaled reflectance  raster <a href="https://github.com/EnMAP-Box/enmap-box/issues/1028">#1028</a></li><li>[Classification layer accuracy report] confusion matrix layout is  wrong/transposed <a href="https://github.com/EnMAP-Box/enmap-box/issues/1055">#1055</a></li></ul><h2>Version 3.14 (2024-04-11)</h2><p><em>This release was tested under QGIS 3.34 (LTR) and 3.36 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>[Profile Analytics] allow aggregated Z-Profiles using a selected  feature-geometry <a href="https://github.com/EnMAP-Box/enmap-box/issues/261">#261</a></li><li>[GDAL Metadata] rename "Range" band property to "Wavelength  Range" <a href="https://github.com/EnMAP-Box/enmap-box/issues/757">#757</a></li></ul><h4>Data / Metadata Model</h4><ul><li>add support for STAC-like metadata sidecar files <a href="https://github.com/EnMAP-Box/enmap-box/issues/753">#753</a></li><li>[RasterWriter] dump all metadata into the *.stac.json sidecar file on object  destruction <a href="https://github.com/EnMAP-Box/enmap-box/issues/768">#768</a></li></ul><h4>GUI</h4><ul><li>[Tools &gt; Developers menu] add "Open Plugin Directory" button <a href="https://github.com/EnMAP-Box/enmap-box/issues/666">#666</a></li><li>Plot variance vs. components in PCA <a href="https://github.com/EnMAP-Box/enmap-box/issues/668">#668</a></li><li>[Data Sources panel] improve support for "Open in Explorer" option for vector  sources <a href="https://github.com/EnMAP-Box/enmap-box/issues/678">#678</a></li><li>[Spectral View] better support for vector-layers without proper QML sidecar  file <a href="https://github.com/EnMAP-Box/enmap-box/issues/755">#755</a></li><li>[Spectral View] add option/dialog for check/uncheck individual fields to be interpreted as SpectralProfile  fields <a href="https://github.com/EnMAP-Box/enmap-box/issues/758">#758</a></li><li>[Spectral View] find SpectralProfile attributes  automatically <a href="https://github.com/EnMAP-Box/enmap-box/issues/778">#778</a></li></ul><h4>Processing Algorithms</h4><ul><li>[ClassificationWorkflowAlgorithm] make input raster optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/631">#631</a></li><li>add algorithm for deriving the bounding polygon of a raster  layer <a href="https://github.com/EnMAP-Box/enmap-box/issues/634">#634</a></li><li>[Import XYZ product] set default style to TrueColor <a href="https://github.com/EnMAP-Box/enmap-box/issues/635">#635</a></li><li>implement processing algorithm for exporting classification dataset into FORCE text file  formats <a href="https://github.com/EnMAP-Box/enmap-box/issues/664">#664</a></li><li>[Sample raster layer values algo] add "Skip no data pixel"  option <a href="https://github.com/EnMAP-Box/enmap-box/issues/682">#682</a></li><li>[Class fraction layer from categorized vector layer] also support the raster case in the same  algo <a href="https://github.com/EnMAP-Box/enmap-box/issues/702">#702</a></li><li>add algorithm for scaling/converting raster data <a href="https://github.com/EnMAP-Box/enmap-box/issues/765">#765</a></li><li>[Create classification dataset (from categorized spectral library)] add option for excluding bad  bands <a href="https://github.com/EnMAP-Box/enmap-box/issues/766">#766</a></li><li>[Spectral resampling (to wavelength)] add option for selecting the nearest  wavelength <a href="https://github.com/EnMAP-Box/enmap-box/issues/801">#801</a></li><li>[Classification layer accuracy and area report] add support for non-matching category  names <a href="https://github.com/EnMAP-Box/enmap-box/issues/845">#845</a></li></ul><h4>Miscellaneous</h4><ul><li>[Scripts/EnFireMAP] add script for sampling point data from data  cube <a href="https://github.com/EnMAP-Box/enmap-box/issues/681">#681</a></li><li>split and restructure the requirement.txt file by operating system and Python  environment <a href="https://github.com/EnMAP-Box/enmap-box/issues/701">#701</a></li></ul><h3>Fixed Bugs</h3><ul><li>[GEE Time Series Explorer] AttributeError: 'GeeTemporalProfileDockWidget' object has no attribute '  onDownloadLayerProfilesClicked' <a href="https://github.com/EnMAP-Box/enmap-box/issues/691">#691</a></li><li>splash screen not showing up on EnMAP-Box startup <a href="https://github.com/EnMAP-Box/enmap-box/issues/714">#714</a></li><li>Error in executing EnPT - EnMAP Processing Tool (v0.7.6) for Level-1B to Level-2A  conversion <a href="https://github.com/EnMAP-Box/enmap-box/issues/719">#719</a></li><li>trouble with numba&gt;=0.57 <a href="https://github.com/EnMAP-Box/enmap-box/issues/735">#735</a></li><li>[Data Views] spectral view layer legend not correctly  updated <a href="https://github.com/EnMAP-Box/enmap-box/issues/737">#737</a></li><li>[Spectral View] "Automatically pan to current feature" in isn't working in Form  View <a href="https://github.com/EnMAP-Box/enmap-box/issues/750">#750</a></li><li>[Layer Properties &gt; GDAL Metadata] copy&amp;paste wavelength values from ENVI Header to Band Metadata table isn't  working <a href="https://github.com/EnMAP-Box/enmap-box/issues/754">#754</a></li><li>error from decorrelationstretchdialog.py : MinMaxScaler must be an instance of 'tuple'. Got [0, 255]  instead <a href="https://github.com/EnMAP-Box/enmap-box/issues/771">#771</a></li><li>after stop vector editing, the "Add point feature" map tool is still  shown <a href="https://github.com/EnMAP-Box/enmap-box/issues/774">#774</a></li><li>[Cursor location values panel] category color and name isn't shown for last  category <a href="https://github.com/EnMAP-Box/enmap-box/issues/775">#775</a></li><li>[Classification layer accuracy and area report] layer styling is set back to  default <a href="https://github.com/EnMAP-Box/enmap-box/issues/776">#776</a></li><li>test runs locally but fails in CI  <a href="https://github.com/EnMAP-Box/enmap-box/issues/781">#781</a></li><li>[Spectral resampling] predefined sensors are not included in the plugin  Zip <a href="https://github.com/EnMAP-Box/enmap-box/issues/786">#786</a></li><li>CatBoostClassifier <a href="https://github.com/EnMAP-Box/enmap-box/issues/790">#790</a></li><li>ModuleNotFoundError:No module named 'llvmlite.llvmpy' <a href="https://github.com/EnMAP-Box/enmap-box/issues/791">#791</a></li><li>[Spectral Processing] outputs aren't properly opened inside Data Sources panel and file locations aren't reported in  the Log tab <a href="https://github.com/EnMAP-Box/enmap-box/issues/798">#798</a></li><li>Spectral resampling (to Sentinel-2A and B) fails with "failed to open spectral library: 'NoneType' object has no  attribute 'source'" <a href="https://github.com/EnMAP-Box/enmap-box/issues/803">#803</a></li><li>macOS installation problem: installing the plugin starts a new QGIS  instance <a href="https://github.com/EnMAP-Box/enmap-box/issues/804">#804</a></li><li>Avoid checks on equality of float results, use almostEqual  instead <a href="https://github.com/EnMAP-Box/enmap-box/issues/813">#813</a></li><li>QGIS v.3-36 problem when enabling EnMap-Box <a href="https://github.com/EnMAP-Box/enmap-box/issues/818">#818</a></li><li>SaveLibraryAsGeoJsonAlgorithm fails to save Speclibs with MAP  field <a href="https://github.com/EnMAP-Box/enmap-box/issues/823">#823</a></li><li>Select Features, AsdsertionError isinstance(mode,  QgsMapToolSelectionHandler.SelectionMode) <a href="https://github.com/EnMAP-Box/enmap-box/issues/827">#827</a></li><li>ensomap:  ImportError:cannot import name 'docstring' from 'matplotlib' (  /home/alobo/.local/lib/python3.10/site-packages/matplotlib/<strong>init</strong>  .py) <a href="https://github.com/EnMAP-Box/enmap-box/issues/836">#836</a></li><li>Missing Python Package(s) message is displayed at every  start <a href="https://github.com/EnMAP-Box/enmap-box/issues/837">#837</a></li><li>enpt is missing and cannot be installed <a href="https://github.com/EnMAP-Box/enmap-box/issues/839">#839</a></li><li>[EnmapBoxSettings] boolean values are not correctly handled <a href="https://github.com/EnMAP-Box/enmap-box/issues/851">#851</a></li><li>Problem importing EnMAP data into QGIS 3.36 <a href="https://github.com/EnMAP-Box/enmap-box/issues/862">#862</a></li><li>AttributeError: 'NoneType' object has no attribute '  highlightedVariables' <a href="https://github.com/EnMAP-Box/enmap-box/issues/863">#863</a></li><li>[RasterReader] open a WMS layer with "openWithGdal=False" isn't  working <a href="https://github.com/EnMAP-Box/enmap-box/issues/865">#865</a></li><li>EnMAP L2A data isn't scaled correctly between 0 and 1 <a href="https://github.com/EnMAP-Box/enmap-box/issues/879">#879</a></li><li>[Scale/truncate/convert raster layer] algo is placed in the wrong algo  group <a href="https://github.com/EnMAP-Box/enmap-box/issues/885">#885</a></li><li>Couldn't load plugin 'enmapboxplugin' due to an error when calling its classFactory()  method  <a href="https://github.com/EnMAP-Box/enmap-box/issues/886">#886</a></li><li>[SpectralView] GeoJSON library with NaN values not correctly  plotted <a href="https://github.com/EnMAP-Box/enmap-box/issues/887">#887</a></li><li>[PyPi Package Info] Latest version not displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/890">#890</a></li><li>[Classification layer accuracy and area report] issue with unclassified pixel inside  map <a href="https://github.com/EnMAP-Box/enmap-box/issues/900">#900</a></li><li>[Data Sources] right-click on nodes inside a model file (*.pkl) gives  error <a href="https://github.com/EnMAP-Box/enmap-box/issues/908">#908</a></li><li>Spectral library axis flipped <a href="https://github.com/EnMAP-Box/enmap-box/issues/916">#916</a></li><li>[SpectralLibraryUtils] SpectralLibraryUtils.writeToSource is creating wrong  CRS <a href="https://github.com/EnMAP-Box/enmap-box/issues/936">#936</a></li></ul><h2>Version 3.13 (2023-10-06)</h2><p><em>This release was tested under QGIS 3.28 (LTR), 3.32 and 3.34 (latest release).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>[Profile Analytics] auto-select a layer if none is selected  yet <a href="https://github.com/EnMAP-Box/enmap-box/issues/122">#122</a></li><li>[GEE TSE] shortcut for opening the custom collections folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/395">#395</a></li><li>[Raster Band Stacking] add option for preventing duplicated output band  names <a href="https://github.com/EnMAP-Box/enmap-box/issues/468">#468</a></li><li>[Profile Analytics] link profiles into SpectralView as current  profiles <a href="https://github.com/EnMAP-Box/enmap-box/issues/530">#530</a></li><li>[Profile Analytics] add option for linking profiles from GEE Time Series  Explorer <a href="https://github.com/EnMAP-Box/enmap-box/issues/531">#531</a></li></ul><h4>Continuous Integration</h4><ul><li>add global option RAISE_ALL_EXCEPTIONS <a href="https://github.com/EnMAP-Box/enmap-box/issues/598">#598</a></li><li>[Mambaforge/Conda installation] add YML file for QGIS Long Term Release (LTR)  environment <a href="https://github.com/EnMAP-Box/enmap-box/issues/605">#605</a></li></ul><h4>Data / Metadata Model</h4><ul><li>[Spectral resampling algos] introduce format for predefined  sensors <a href="https://github.com/EnMAP-Box/enmap-box/issues/579">#579</a></li></ul><h4>GUI</h4><ul><li>[Project Settings] add Project Open/Save buttons to EnMAP-Box main  menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/307">#307</a></li><li>[Data Views panel] add context-menu shortcut for setting the layer name as map view  name <a href="https://github.com/EnMAP-Box/enmap-box/issues/387">#387</a></li><li>[Spectral View] better support for GeoJSON format <a href="https://github.com/EnMAP-Box/enmap-box/issues/423">#423</a></li><li>[Project Settings] add Open Project button in Project menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/446">#446</a></li><li>FR: EnMAP-BoxContextMenuProvider <a href="https://github.com/EnMAP-Box/enmap-box/issues/513">#513</a></li><li>[SpectralView] add distance xUnits <a href="https://github.com/EnMAP-Box/enmap-box/issues/525">#525</a></li><li>[Data Views panel] add "Make Permanent..." option to layer context  menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/660">#660</a></li></ul><h4>Processing Algorithms</h4><ul><li>make feature name matching optional and not the default in ML  predictions <a href="https://github.com/EnMAP-Box/enmap-box/issues/297">#297</a></li><li>use direct assignment between band number and detector in EnMAP L2A product specified in the  METADATA.XML <a href="https://github.com/EnMAP-Box/enmap-box/issues/415">#415</a></li><li>[Spectral Index Creator] add support for formulas with input bands given by center  wavelength <a href="https://github.com/EnMAP-Box/enmap-box/issues/456">#456</a></li><li>[Import EnMAP L2A product] add "Exclude bad bands" option <a href="https://github.com/EnMAP-Box/enmap-box/issues/461">#461</a></li><li>[Classification workflow algo] the default feature matching by name is causing problems in case of duplicated  names <a href="https://github.com/EnMAP-Box/enmap-box/issues/467">#467</a></li><li>implement algorithms for calculating spectral similarity between  classes <a href="https://github.com/EnMAP-Box/enmap-box/issues/469">#469</a></li><li>[Class fraction layer from categorized vector layer] add option to exclude border  pixel <a href="https://github.com/EnMAP-Box/enmap-box/issues/478">#478</a></li><li>[Raster math] add option for recoding input no data values <a href="https://github.com/EnMAP-Box/enmap-box/issues/479">#479</a></li><li>short of spectral separability tests <a href="https://github.com/EnMAP-Box/enmap-box/issues/494">#494</a></li><li>[Spectral resampling (to EnMAP)] update EnMAP sensor model <a href="https://github.com/EnMAP-Box/enmap-box/issues/496">#496</a></li><li>[Import EnMAP L2A product] support band order by detector <a href="https://github.com/EnMAP-Box/enmap-box/issues/515">#515</a></li><li>[Raster math] don't create empty band names by default <a href="https://github.com/EnMAP-Box/enmap-box/issues/532">#532</a></li><li>[Edit raster source band properties] allow expressions using counter variables to derive value  lists <a href="https://github.com/EnMAP-Box/enmap-box/issues/539">#539</a></li><li>[Processing algorithms] add option for manual includes into auto-generated processing algo RST  files <a href="https://github.com/EnMAP-Box/enmap-box/issues/553">#553</a></li><li>[Create classification/regression/unsupervised dataset algos] add "Exclude bad bands/features"  option <a href="https://github.com/EnMAP-Box/enmap-box/issues/560">#560</a></li><li>[Spectral resampling (to spectral raster layer wavelength and FWHM)] allow to select non-raster files specifying  center wavelength and fwhm <a href="https://github.com/EnMAP-Box/enmap-box/issues/574">#574</a></li><li>[Spectral resampling algos] add option for linear  interpolation <a href="https://github.com/EnMAP-Box/enmap-box/issues/580">#580</a></li><li>implement random point-vector creation from raster layer  value-ranges <a href="https://github.com/EnMAP-Box/enmap-box/issues/593">#593</a></li><li>implement an algorithm that creates a classification layer from a rendered  image <a href="https://github.com/EnMAP-Box/enmap-box/issues/611">#611</a></li><li>[Spectral resampling] use a file output widget for writing the  SRF <a href="https://github.com/EnMAP-Box/enmap-box/issues/620">#620</a></li><li>[Convolution filter algos] mark output no data bands as bad  bands <a href="https://github.com/EnMAP-Box/enmap-box/issues/637">#637</a></li><li>[Subset raster layer bands] add "Derive and exclude additional bad bands"  option <a href="https://github.com/EnMAP-Box/enmap-box/issues/638">#638</a></li><li>[Spectral Index Optimizer] filter non-finite values before  fitting <a href="https://github.com/EnMAP-Box/enmap-box/issues/718">#718</a></li></ul><h4>Miscellaneous</h4><ul><li>[Spectral View] use @symbol_color by default for a new profile  visualization <a href="https://github.com/EnMAP-Box/enmap-box/issues/312">#312</a></li><li>make example datasets (berlin, potsdam) available via Menu &gt; Tools &gt; Developers &gt; Example  Datasets <a href="https://github.com/EnMAP-Box/enmap-box/issues/561">#561</a></li><li>[Example Dataset] make the full EnMAP scene available for  download <a href="https://github.com/EnMAP-Box/enmap-box/issues/566">#566</a></li><li>[Example Dataset Potsdam] add library and  continuous-vector-layer <a href="https://github.com/EnMAP-Box/enmap-box/issues/576">#576</a></li><li>[Scripts] implement script for cutting EnMAP L2A scenes according to a given tiling  scheme <a href="https://github.com/EnMAP-Box/enmap-box/issues/583">#583</a></li></ul><h3>Fixed Bugs</h3><ul><li>[Profile Analytics] ignore or handle WMS layers properly <a href="https://github.com/EnMAP-Box/enmap-box/issues/443">#443</a></li><li>[Scripts/create_plugin.py] can't build plugin (somehow related to  Markdown) <a href="https://github.com/EnMAP-Box/enmap-box/issues/452">#452</a></li><li>New error when starting EnMap-Box <a href="https://github.com/EnMAP-Box/enmap-box/issues/459">#459</a></li><li>ValueError: ndarray is not C-contiguous <a href="https://github.com/EnMAP-Box/enmap-box/issues/463">#463</a></li><li>Ubuntu 22.04: No module named 'PyQt5.pyrcc_main' <a href="https://github.com/EnMAP-Box/enmap-box/issues/466">#466</a></li><li>[Classification workflow] temp files are written into the QGIS installation  folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/477">#477</a></li><li>ValueError: Input contains NaN, infinity or a value too large for dtype('  float32'). <a href="https://github.com/EnMAP-Box/enmap-box/issues/495">#495</a></li><li>[Translate raster layer] data gain/offset is getting lost, when translation an EnMAP L2A VRT to GTiff  format <a href="https://github.com/EnMAP-Box/enmap-box/issues/501">#501</a></li><li>Regression-based unmixing does not allow to select Endmember  dataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/503">#503</a></li><li>"Predict classification layer" can not use RFc model <a href="https://github.com/EnMAP-Box/enmap-box/issues/504">#504</a></li><li>Bug in beta leaf angle distribution within IVVRM (EnMAP-box  3.12.1) <a href="https://github.com/EnMAP-Box/enmap-box/issues/507">#507</a></li><li>FAILED tests/enmap-box/enmapboxprocessing/test_utils.py::TestUtils::  test_gdalDataTypeToNumpyDataType <a href="https://github.com/EnMAP-Box/enmap-box/issues/508">#508</a></li><li>[Data Views panel] opening the layer properties from the context menu not  working <a href="https://github.com/EnMAP-Box/enmap-box/issues/541">#541</a></li><li>Convolution Algorithm tests <a href="https://github.com/EnMAP-Box/enmap-box/issues/542">#542</a></li><li>Plugin EnmapBox crashed QGIS <a href="https://github.com/EnMAP-Box/enmap-box/issues/546">#546</a></li><li>Warning on startup: "Agricultural Applications already  loaded" <a href="https://github.com/EnMAP-Box/enmap-box/issues/568">#568</a></li><li>[Data Sources] Right-click list index out of range <a href="https://github.com/EnMAP-Box/enmap-box/issues/569">#569</a></li><li>Can not open Map View <a href="https://github.com/EnMAP-Box/enmap-box/issues/570">#570</a></li><li>[Map View] context menu content is shown twice <a href="https://github.com/EnMAP-Box/enmap-box/issues/572">#572</a></li><li>[Spectral View] profiles not correctly displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/581">#581</a></li><li>TypeError when running PRISMA L2D import in batch <a href="https://github.com/EnMAP-Box/enmap-box/issues/584">#584</a></li><li>[Processing] clicking the "Run as Batch Process" button when running in PyCharm not  working <a href="https://github.com/EnMAP-Box/enmap-box/issues/585">#585</a></li><li>[Spectral convolution Ricker Wavelet filter] ValueError: Setting nan_treatment='interpolate' requires the kernel to be  normalized <a href="https://github.com/EnMAP-Box/enmap-box/issues/587">#587</a></li><li>ModuleNotFoundError: No module named 'enmapboxexampledata' <a href="https://github.com/EnMAP-Box/enmap-box/issues/588">#588</a></li><li>[Raster math] broken link <a href="https://github.com/EnMAP-Box/enmap-box/issues/591">#591</a></li><li>import L2A EnMAP data - error <a href="https://github.com/EnMAP-Box/enmap-box/issues/595">#595</a></li><li>Raster Math IndexError: list index out of range <a href="https://github.com/EnMAP-Box/enmap-box/issues/601">#601</a></li><li>AttributeError:module 'numpy' has no attribute 'float'. <a href="https://github.com/EnMAP-Box/enmap-box/issues/604">#604</a></li><li>ValueError: node array from the pickle has an incompatible  dtype <a href="https://github.com/EnMAP-Box/enmap-box/issues/614">#614</a></li><li>[Raster math] make the default output optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/615">#615</a></li><li>[QPS readENVIHeader] reading header file fails if binary file isn't  available <a href="https://github.com/EnMAP-Box/enmap-box/issues/622">#622</a></li><li>classificationfromrenderedimagealgorithm.py: TypeError (Python  3.10) <a href="https://github.com/EnMAP-Box/enmap-box/issues/626">#626</a></li><li>[Location Browser] gives requests.exceptions.JSONDecodeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/636">#636</a></li><li>[Location Browser] Geocoding search not working <a href="https://github.com/EnMAP-Box/enmap-box/issues/639">#639</a></li><li>[Import Spectral Profiles dialog] Raster Layer imports are not correctly scaled und no-data values aren't correctly  set to NaN <a href="https://github.com/EnMAP-Box/enmap-box/issues/641">#641</a></li><li>[Spectral View] raster wavelength not recognized <a href="https://github.com/EnMAP-Box/enmap-box/issues/642">#642</a></li><li>[Spectral Processing] progress bar indicates processing after algorithm  finishes <a href="https://github.com/EnMAP-Box/enmap-box/issues/643">#643</a></li><li>[Spectral Processing] after clicking on "Run" the dialog should be switching to the "Log"  tab <a href="https://github.com/EnMAP-Box/enmap-box/issues/644">#644</a></li><li>[Spectral Processing] Python crashes when selecting "Translate raster  layer" <a href="https://github.com/EnMAP-Box/enmap-box/issues/645">#645</a></li><li>[Spectral Processing] algo parameters not shown  <a href="https://github.com/EnMAP-Box/enmap-box/issues/647">#647</a></li><li>[Profile Analystics] Open within QGIS causes TypeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/649">#649</a></li><li>ERROR <a href="https://github.com/EnMAP-Box/enmap-box/issues/654">#654</a></li><li>[Processing algorithm dialog] outdated link for the Help  button <a href="https://github.com/EnMAP-Box/enmap-box/issues/659">#659</a></li><li>[PIP Package Installer] is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/671">#671</a></li><li>Documentation on Installation <a href="https://github.com/EnMAP-Box/enmap-box/issues/672">#672</a></li><li>[Classification workflow] not working with testdataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/688">#688</a></li><li>EnMap installation - trouble with Python library <a href="https://github.com/EnMAP-Box/enmap-box/issues/690">#690</a></li><li>Error loading 'Classification Workflow (Advanced) <a href="https://github.com/EnMAP-Box/enmap-box/issues/694">#694</a></li><li>EnmapBox cannot be installed through flatpack <a href="https://github.com/EnMAP-Box/enmap-box/issues/707">#707</a></li><li>AttributeError: type object 'QgsMapLayerProxyModel' has no attribute '  Filters'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/713">#713</a></li><li>[Spectral View] collected pixel profiles aren't showing up inside a map  view <a href="https://github.com/EnMAP-Box/enmap-box/issues/720">#720</a></li><li>[Class separability report algo] output is printed into the QGIS Python Console instead of the algo  log <a href="https://github.com/EnMAP-Box/enmap-box/issues/722">#722</a></li><li>Link for requirements in docs not valid <a href="https://github.com/EnMAP-Box/enmap-box/issues/725">#725</a></li><li>[Regression layer accuracy report] scatter plot figures not shown in  report <a href="https://github.com/EnMAP-Box/enmap-box/issues/727">#727</a></li><li>[Spectral View] GeoJSON library not correctly visualized <a href="https://github.com/EnMAP-Box/enmap-box/issues/731">#731</a></li><li>[Map View] Setting QGIS Map center/extent does not work <a href="https://github.com/EnMAP-Box/enmap-box/issues/738">#738</a></li><li>[Scatter Plot] funny behaviour on move houver event for empty  plots <a href="https://github.com/EnMAP-Box/enmap-box/issues/745">#745</a></li><li>[PIP Installer] subprocess.CalledProcessError: Command '...\Python39\python3.exe -m pip list' returned non-zero exit  status 1. <a href="https://github.com/EnMAP-Box/enmap-box/issues/760">#760</a></li><li>[Save raster layer as] Output options aren't applied <a href="https://github.com/EnMAP-Box/enmap-box/issues/808">#808</a></li><li>Decorrelation stretch rendering does not work <a href="https://github.com/EnMAP-Box/enmap-box/issues/811">#811</a></li><li>[Spectral View] import profiles from raster isn't working <a href="https://github.com/EnMAP-Box/enmap-box/issues/819">#819</a></li></ul><h2>Version 3.12 (2023-04-04)</h2><p><em>This release was tested under QGIS 3.28 (LTR).</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>implement a Raster Band Stacking (EO4Q) app <a href="https://github.com/EnMAP-Box/enmap-box/issues/155">#155</a></li><li>Implement a Location Browser [EO4Q] app <a href="https://github.com/EnMAP-Box/enmap-box/issues/200">#200</a></li><li>implement Sensor Product Import (EO4Q) app <a href="https://github.com/EnMAP-Box/enmap-box/issues/211">#211</a></li><li>[Location Browser] support WKT geometries <a href="https://github.com/EnMAP-Box/enmap-box/issues/218">#218</a></li><li>[Profile Analytics] add code editor widget <a href="https://github.com/EnMAP-Box/enmap-box/issues/229">#229</a></li><li>connect to the QGIS Temporal Controller panel and add support for temporal raster  stacks <a href="https://github.com/EnMAP-Box/enmap-box/issues/245">#245</a></li><li>[Raster Layer Styling] add a range-slider for interactively masking values to be  displayed <a href="https://github.com/EnMAP-Box/enmap-box/issues/247">#247</a></li><li>[Temporal Raster Stack Controller] add support for  QgsPalettedRasterRenderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/255">#255</a></li><li>[RasterReader API class] implement method that returns pixel-wise cover fractions of a  polygon-geometry <a href="https://github.com/EnMAP-Box/enmap-box/issues/263">#263</a></li><li>[Profile Analytics] implement temporal timeseries fitting UFUNC using RBF Ensemble  approach <a href="https://github.com/EnMAP-Box/enmap-box/issues/273">#273</a></li><li>[GEE TSE app] properly handle missing STAC files for custom  collections <a href="https://github.com/EnMAP-Box/enmap-box/issues/369">#369</a></li><li>[Spectral Index Creator] use full name as band name <a href="https://github.com/EnMAP-Box/enmap-box/issues/390">#390</a></li></ul><h4>Continuous Integration</h4><ul><li>enmapboxtestdata.SensorProducts problems <a href="https://github.com/EnMAP-Box/enmap-box/issues/318">#318</a></li></ul><h4>Data / Metadata Model</h4><ul><li>support NETCDF_DIM_time format as date time metadata <a href="https://github.com/EnMAP-Box/enmap-box/issues/251">#251</a></li></ul><h4>GUI</h4><ul><li>allow to open/import external sensor products like Landsat via drag&amp;drop of the products  folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/124">#124</a></li><li>[Spectral Library View] use speclib default style  <a href="https://github.com/EnMAP-Box/enmap-box/issues/197">#197</a></li><li>allow to store project settings <a href="https://github.com/EnMAP-Box/enmap-box/issues/201">#201</a></li></ul><h4>Processing Algorithms</h4><ul><li>[Import EnMAP L2A product algorithm] add options for handling the detector  overlap <a href="https://github.com/EnMAP-Box/enmap-box/issues/216">#216</a></li><li>[Raster math] improve temp-variable handling <a href="https://github.com/EnMAP-Box/enmap-box/issues/235">#235</a></li><li>[Regression-based unmixing] add option for sum of unmixing to 1  constraint <a href="https://github.com/EnMAP-Box/enmap-box/issues/239">#239</a></li><li>implement a simple and interactive 3D spectral data cube  visualization <a href="https://github.com/EnMAP-Box/enmap-box/issues/272">#272</a></li><li>implement EMIT L2A sensor product import algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/278">#278</a></li><li>[Create spectral indices algorithm] result VRT shouldn't be dependent on _temp  folder <a href="https://github.com/EnMAP-Box/enmap-box/issues/292">#292</a></li></ul><h4>Miscellaneous</h4><ul><li>implement a MultipleRasterBandSelectionWidget <a href="https://github.com/EnMAP-Box/enmap-box/issues/180">#180</a></li><li>implement a Resource Gallery dev-tool <a href="https://github.com/EnMAP-Box/enmap-box/issues/193">#193</a></li><li>implement a custom BuildVrtStack function <a href="https://github.com/EnMAP-Box/enmap-box/issues/217">#217</a></li><li>Reporting <a href="https://github.com/EnMAP-Box/enmap-box/issues/258">#258</a></li><li>make typeguard optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/345">#345</a></li></ul><h3>Fixed Bugs</h3><ul><li>The setup for testing non-blocking-dependencies is gone. <a href="https://github.com/EnMAP-Box/enmap-box/issues/176">#176</a></li><li>CatBootRegressor issue <a href="https://github.com/EnMAP-Box/enmap-box/issues/189">#189</a></li><li>[Regression Workflow] TypeError: type of argument "meanAbsoluteError" must be either float or  int <a href="https://github.com/EnMAP-Box/enmap-box/issues/190">#190</a></li><li>[Create classification dataset (from categorized vector layer with attribute table) algo] can't select vector table as  input <a href="https://github.com/EnMAP-Box/enmap-box/issues/198">#198</a></li><li>[Raster Band Stacking] Toggle Selection is not working  correctly <a href="https://github.com/EnMAP-Box/enmap-box/issues/208">#208</a></li><li>[GEE TSE] data is not scaled before index calculation <a href="https://github.com/EnMAP-Box/enmap-box/issues/210">#210</a></li><li>[Raster Layer Styling] error when changing from multiband to singleband  raster <a href="https://github.com/EnMAP-Box/enmap-box/issues/213">#213</a></li><li>[Sensor Product Import] cancelling the import algo will still open the metadata  file <a href="https://github.com/EnMAP-Box/enmap-box/issues/214">#214</a></li><li>[flatpak] Box won't start - KeyError: '<strong>file</strong>' <a href="https://github.com/EnMAP-Box/enmap-box/issues/215">#215</a></li><li>glossary links are missing in algorithm descriptions <a href="https://github.com/EnMAP-Box/enmap-box/issues/233">#233</a></li><li>[Raster math] using vector fields not working <a href="https://github.com/EnMAP-Box/enmap-box/issues/236">#236</a></li><li>[GEE TSE] data stretch is not working in Composite Mode <a href="https://github.com/EnMAP-Box/enmap-box/issues/244">#244</a></li><li>[Profile Analytics] problem with layers that have no CRS set <a href="https://github.com/EnMAP-Box/enmap-box/issues/252">#252</a></li><li>[Temporal Raster Stack Controller] the toolbar button is toggeling all layers and not only the selected  once <a href="https://github.com/EnMAP-Box/enmap-box/issues/254">#254</a></li><li>[Sensor Product Import] panel is not showing up in QGIS when clicking the toolbar  button <a href="https://github.com/EnMAP-Box/enmap-box/issues/259">#259</a></li><li>improve EnMAP L2B product export to ENVI BSQ format <a href="https://github.com/EnMAP-Box/enmap-box/issues/267">#267</a></li><li>[S2 Product Import] Dataset Metadata is dropped in the  stacking <a href="https://github.com/EnMAP-Box/enmap-box/issues/269">#269</a></li><li>[Spectral profile sources] Python error when selecting raster  source <a href="https://github.com/EnMAP-Box/enmap-box/issues/275">#275</a></li><li>[Data Sources] Opening vector sources with multiple layers (e.g.  GPKG) <a href="https://github.com/EnMAP-Box/enmap-box/issues/286">#286</a></li><li>ModuleNotFoundError: No module named 'enmapbox.settings' <a href="https://github.com/EnMAP-Box/enmap-box/issues/287">#287</a></li><li>[Sensor Product Import] wrong PRISMA algorithm is triggered <a href="https://github.com/EnMAP-Box/enmap-box/issues/289">#289</a></li><li>Spectral Convolution Savitsky-Golay Filter issue <a href="https://github.com/EnMAP-Box/enmap-box/issues/306">#306</a></li><li>[Save raster layer as] error when saving to temp-file <a href="https://github.com/EnMAP-Box/enmap-box/issues/310">#310</a></li><li>[Spectral View] when opening a library, the attribute table is shown, but the corresponding button isn't  checked <a href="https://github.com/EnMAP-Box/enmap-box/issues/311">#311</a></li><li>[Spectral View] Save Edits is messing up attribute table  values <a href="https://github.com/EnMAP-Box/enmap-box/issues/315">#315</a></li><li>Mac users: application "Soil applications --&gt;Ensomap" not  available <a href="https://github.com/EnMAP-Box/enmap-box/issues/327">#327</a></li><li>TypeError: Subscripted generics cannot be used with class and instance  checks <a href="https://github.com/EnMAP-Box/enmap-box/issues/330">#330</a></li><li>[Location Browser] error in case of no map view available <a href="https://github.com/EnMAP-Box/enmap-box/issues/335">#335</a></li><li>[GEE Time Series Explorer] panel is not showing up <a href="https://github.com/EnMAP-Box/enmap-box/issues/337">#337</a></li><li>[Sensor data import] EnMAP L1C data import fails  <a href="https://github.com/EnMAP-Box/enmap-box/issues/338">#338</a></li><li>[GEE Time Series Explorer] Collections don't load <a href="https://github.com/EnMAP-Box/enmap-box/issues/339">#339</a></li><li>[Create regression dataset (from continuous-valued vector layer and feature raster)] extent mismatch  error <a href="https://github.com/EnMAP-Box/enmap-box/issues/341">#341</a></li><li>Missing packages after upgrading 3.11.1 to 3.12alpha7. <a href="https://github.com/EnMAP-Box/enmap-box/issues/351">#351</a></li><li>ModuleNotFoundError: No module named 'pkg_resources'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/357">#357</a></li><li>RasterReader fails to read wavelength and wavelength units from  QML <a href="https://github.com/EnMAP-Box/enmap-box/issues/358">#358</a></li><li>[GEE TSE app] fix typo in collection <a href="https://github.com/EnMAP-Box/enmap-box/issues/364">#364</a></li><li>AttributeError: type object 'SensorProducts' has no attribute '  Enmap' <a href="https://github.com/EnMAP-Box/enmap-box/issues/365">#365</a></li><li>Several unit test errors <a href="https://github.com/EnMAP-Box/enmap-box/issues/366">#366</a></li><li>Moving Spectral Library view causes AttributeError: 'NoneType' object has no attribute '  moveDock'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/375">#375</a></li><li>syntax error within "Spectral Profiles Sources" window <a href="https://github.com/EnMAP-Box/enmap-box/issues/376">#376</a></li><li>AttributeError: 'NoneType' object has no attribute '  dataSources' <a href="https://github.com/EnMAP-Box/enmap-box/issues/377">#377</a></li><li>AttributeError: 'NoneType' object has no attribute '  floatDock' <a href="https://github.com/EnMAP-Box/enmap-box/issues/379">#379</a></li><li>[Location Browser app] cleanup old boundary layer from the data sources  panel <a href="https://github.com/EnMAP-Box/enmap-box/issues/388">#388</a></li><li>[Import Sentinel-2 L2A product] data is not scaled between 0 and  1 <a href="https://github.com/EnMAP-Box/enmap-box/issues/391">#391</a></li><li>Problems with Spectral Viewer <a href="https://github.com/EnMAP-Box/enmap-box/issues/392">#392</a></li><li>Wrong GitHub clone URL <a href="https://github.com/EnMAP-Box/enmap-box/issues/393">#393</a></li><li>[Spectral View] raster layer renderer bar not shown for SingleBandPseudocolor  renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/394">#394</a></li><li>[Data Sources] error when opening a vector layer in QGIS  3.30.0 <a href="https://github.com/EnMAP-Box/enmap-box/issues/396">#396</a></li><li>[Convex hull and continuum-removal] incorrect output for EnMAP L2A  products <a href="https://github.com/EnMAP-Box/enmap-box/issues/397">#397</a></li><li>QGIS crashes when activating the EnMAP-Box plugin <a href="https://github.com/EnMAP-Box/enmap-box/issues/403">#403</a></li><li>"TypeError: 'NoneType' object is not subscriptable" when opening a saved project in  QGIS <a href="https://github.com/EnMAP-Box/enmap-box/issues/414">#414</a></li><li>[QPS] SpectralLibrary class is deprecated, replace usages with  SpectralLibraryUtils <a href="https://github.com/EnMAP-Box/enmap-box/issues/417">#417</a></li><li>[qps] Can not read HDF4 error while Box is not opened/used <a href="https://github.com/EnMAP-Box/enmap-box/issues/418">#418</a></li><li>[Spectral View] content of GeoJSON file not correctly  recognized <a href="https://github.com/EnMAP-Box/enmap-box/issues/422">#422</a></li><li>[SpecMixApp] is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/426">#426</a></li><li>several icons aren't available anymore <a href="https://github.com/EnMAP-Box/enmap-box/issues/429">#429</a></li><li>ValueError: unsupported data type: int64 <a href="https://github.com/EnMAP-Box/enmap-box/issues/433">#433</a></li><li>SpectralLibrary class was removed and replaced by QgsVectorLayer, which causes unittests to  fail <a href="https://github.com/EnMAP-Box/enmap-box/issues/434">#434</a></li><li>PytestCollectionWarning: cannot collect test class 'TestCase' because it has a <strong>init</strong>  constructor <a href="https://github.com/EnMAP-Box/enmap-box/issues/438">#438</a></li><li>OSError: [Errno 6] No such device or address, SensorProducts <a href="https://github.com/EnMAP-Box/enmap-box/issues/439">#439</a></li><li>TestClassFractionRenderer: sklearn.utils._  param_validation.InvalidParameterError  <a href="https://github.com/EnMAP-Box/enmap-box/issues/440">#440</a></li><li>TypeError: type of argument "value" must be one of (int, str); got numpy.int64  instead <a href="https://github.com/EnMAP-Box/enmap-box/issues/448">#448</a></li><li>Couldn't load plugin 'enmapboxplugin' due to an error when calling its classFactory()  method  <a href="https://github.com/EnMAP-Box/enmap-box/issues/453">#453</a></li><li>Import Spectral Profiles -&gt; from Raster Layer dialog <a href="https://github.com/EnMAP-Box/enmap-box/issues/454">#454</a></li><li>Incorrect geocoding of PRISMA L2D data imported via Import  dialog <a href="https://github.com/EnMAP-Box/enmap-box/issues/473">#473</a></li><li>Pixel Profile: Spectral Library Viewer does not open  <a href="https://github.com/EnMAP-Box/enmap-box/issues/488">#488</a></li><li>[Spectral resampling (to Landsat 4/5 TM)] resampling an EnMAP L2A to Landsat isn't working  correctly <a href="https://github.com/EnMAP-Box/enmap-box/issues/490">#490</a></li><li>IndexError when trying to import PRISMA L2D data <a href="https://github.com/EnMAP-Box/enmap-box/issues/497">#497</a></li><li>AttributeError: module 'numpy' has no attribute 'float' <a href="https://github.com/EnMAP-Box/enmap-box/issues/510">#510</a></li><li>TypeError: QgsMapToolAddFeature.<strong>init</strong>() got multiple values for argument '  mode' <a href="https://github.com/EnMAP-Box/enmap-box/issues/516">#516</a></li></ul><h2>Version 3.11 (2022-10-09)</h2><p><em>This release was tested under QGIS 3.26.</em></p><h3>New Features</h3><h4>Applications</h4><ul><li>Interactive setting of bad bands in the Raster Layer  Styling/Gray <a href="https://github.com/EnMAP-Box/enmap-box/issues/31">#31</a></li><li>support spatial profile plotting <a href="https://github.com/EnMAP-Box/enmap-box/issues/58">#58</a></li><li>add dual-band pseudocolor renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/70">#70</a></li><li>implement 3-band HSV color model renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/73">#73</a></li><li>implement 4-band CMYK color model renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/74">#74</a></li><li>[Bivariate Color Raster Renderer app] make upper-right color  optional <a href="https://github.com/EnMAP-Box/enmap-box/issues/77">#77</a></li><li>[Bivariate Color Raster Renderer app] add user defined min/max  settings <a href="https://github.com/EnMAP-Box/enmap-box/issues/79">#79</a></li><li>implement a Profile Analytics app <a href="https://github.com/EnMAP-Box/enmap-box/issues/81">#81</a></li><li>implement RGB renderer with bands from multiple raster  sources <a href="https://github.com/EnMAP-Box/enmap-box/issues/112">#112</a></li></ul><h4>Continuous Integration</h4><ul><li>Setup GH Action to check code styling  <a href="https://github.com/EnMAP-Box/enmap-box/issues/13">#13</a></li><li>Setup GH Actions to check unittests <a href="https://github.com/EnMAP-Box/enmap-box/issues/14">#14</a></li></ul><h4>Data / Metadata Model</h4><ul><li>allow human-readable JSON version of the PKL dataset <a href="https://github.com/EnMAP-Box/enmap-box/issues/21">#21</a></li><li>support old FORCE v1.2 TSI format <a href="https://github.com/EnMAP-Box/enmap-box/issues/111">#111</a></li></ul><h4>Processing Algorithms</h4><ul><li>reimplement Reclassify app and algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/15">#15</a></li><li>[Spectral Index Optimizer algorithm] make it a core algo and  overhaul <a href="https://github.com/EnMAP-Box/enmap-box/issues/19">#19</a></li></ul><h4>Miscellaneous</h4><ul><li>Application path not initialized <a href="https://github.com/EnMAP-Box/enmap-box/issues/4">#4</a></li><li>RasterReader wavelength fails with FORCE TSI images <a href="https://github.com/EnMAP-Box/enmap-box/issues/9">#9</a></li></ul><h3>Fixed Bugs</h3><ul><li>link extraction from glossary.rst is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/1">#1</a></li><li>temporal pixel profile from FORCE TSI raster not correctly displayed in  SpectralView <a href="https://github.com/EnMAP-Box/enmap-box/issues/5">#5</a></li><li>several exampledata files are missing <a href="https://github.com/EnMAP-Box/enmap-box/issues/7">#7</a></li><li>fix DeprecationWarning: QgsMapLayer.saveDefaultStyle() is deprecated message, success =  layer.saveDefaultStyle() <a href="https://github.com/EnMAP-Box/enmap-box/issues/8">#8</a></li><li>'there is no matching overloaded signal' error on identify cursor location  value <a href="https://github.com/EnMAP-Box/enmap-box/issues/12">#12</a></li><li>SVR errors <a href="https://github.com/EnMAP-Box/enmap-box/issues/18">#18</a></li><li>Color Space Explorer becomes unresponsive after using Decorrelation Stretch  Renderer <a href="https://github.com/EnMAP-Box/enmap-box/issues/27">#27</a></li><li>Read and apply hdr field "default bands" if present for initial color composite  display <a href="https://github.com/EnMAP-Box/enmap-box/issues/28">#28</a></li><li>Impossible to add created vector to a new/existing map via data source context  menu <a href="https://github.com/EnMAP-Box/enmap-box/issues/32">#32</a></li><li>Attribute form doesn't appears on EnMAP-Box map <a href="https://github.com/EnMAP-Box/enmap-box/issues/33">#33</a></li><li>[Data source tree] GEE Data Catalog Plugin color composition doesn't  work <a href="https://github.com/EnMAP-Box/enmap-box/issues/34">#34</a></li><li>Sample raster layer values error : "TypeError: type of argument "coverageMin" must be int; got float  instead" <a href="https://github.com/EnMAP-Box/enmap-box/issues/35">#35</a></li><li>dropping a Sentinel-2 product into the MapView area isn't triggering the correct import  algorithm <a href="https://github.com/EnMAP-Box/enmap-box/issues/42">#42</a></li><li>Replace or remove user specific / local file paths <a href="https://github.com/EnMAP-Box/enmap-box/issues/45">#45</a></li><li>RasterReader: undefined name Qgis <a href="https://github.com/EnMAP-Box/enmap-box/issues/46">#46</a></li><li>Error mouse move? <a href="https://github.com/EnMAP-Box/enmap-box/issues/50">#50</a></li><li>Drag&amp;drop EnMAP-Box source to QGIS will open the source twice <a href="https://github.com/EnMAP-Box/enmap-box/issues/60">#60</a></li><li>[GEE TSE app] change from S2_SR collection to S2_SR_HARMONIZED <a href="https://github.com/EnMAP-Box/enmap-box/issues/64">#64</a></li><li>bad behaviour when dropping a raster layer on a map view that has no default  style  <a href="https://github.com/EnMAP-Box/enmap-box/issues/80">#80</a></li><li>[Spectral Profile Sources panel] using Source = "Last raster layer" not  working <a href="https://github.com/EnMAP-Box/enmap-box/issues/83">#83</a></li><li>SpectralProfile widget type is shown twice <a href="https://github.com/EnMAP-Box/enmap-box/issues/86">#86</a></li><li>Process <code>ApplyMaskLayerToRasterLayer</code> fails with an  <code>AttributeError</code> <a href="https://github.com/EnMAP-Box/enmap-box/issues/87">#87</a></li><li>SpatialPoint.toPixelPosition is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/88">#88</a></li><li>Raster Math error <a href="https://github.com/EnMAP-Box/enmap-box/issues/92">#92</a></li><li>[Apply mask layer to raster layer] cannot convert float NaN to  integer <a href="https://github.com/EnMAP-Box/enmap-box/issues/95">#95</a></li><li>[Raster layer styling panel] Remove style for defaut wms <a href="https://github.com/EnMAP-Box/enmap-box/issues/96">#96</a></li><li>incorrect symbol in plot style widget <a href="https://github.com/EnMAP-Box/enmap-box/issues/97">#97</a></li><li>dropping PRISMA product into EnMAP-Box is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/100">#100</a></li><li>[EnGeoMAP] GUI does not start <a href="https://github.com/EnMAP-Box/enmap-box/issues/101">#101</a></li><li>ModuleNotFoundError: No module named '  geetimeseriesexplorerapp'  <a href="https://github.com/EnMAP-Box/enmap-box/issues/105">#105</a></li><li>Blank red band when adding multiband raster layer in default colors (  RGB) <a href="https://github.com/EnMAP-Box/enmap-box/issues/106">#106</a></li><li>Missing test or example files <a href="https://github.com/EnMAP-Box/enmap-box/issues/110">#110</a></li><li>[Processing] scipy ndimage filters "layers were not correctly  generated" <a href="https://github.com/EnMAP-Box/enmap-box/issues/116">#116</a></li><li>[Processing] Stack raster layers - 'RasterWriter' object has no attribute '  removeMetadata' <a href="https://github.com/EnMAP-Box/enmap-box/issues/117">#117</a></li><li>[Classification layer accuracy report] TypeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/120">#120</a></li><li>[Create RGB from Class Probabilitiy / Fraction Layer algo]  RuntimeError <a href="https://github.com/EnMAP-Box/enmap-box/issues/133">#133</a></li><li>Error in "Class fraction layer from categorized vector  layer"  <a href="https://github.com/EnMAP-Box/enmap-box/issues/135">#135</a></li><li>[About window] Licence "File not found" <a href="https://github.com/EnMAP-Box/enmap-box/issues/136">#136</a></li><li>[Processing toolbox] Debugging algo in list <a href="https://github.com/EnMAP-Box/enmap-box/issues/139">#139</a></li><li>[HSV Renderer] displayed image is all black <a href="https://github.com/EnMAP-Box/enmap-box/issues/140">#140</a></li><li>QgsMapLayer menus are not created in case of ModuleNotFound exceptions in  sub-applications <a href="https://github.com/EnMAP-Box/enmap-box/issues/143">#143</a></li><li>[GDAL Metadata] editing metadata is broken (ENVI files only) <a href="https://github.com/EnMAP-Box/enmap-box/issues/147">#147</a></li><li>remove "float" button for already floating views <a href="https://github.com/EnMAP-Box/enmap-box/issues/157">#157</a></li><li>[Save raster layer as algo] fix algo description <a href="https://github.com/EnMAP-Box/enmap-box/issues/168">#168</a></li><li>Create classification dataset (from categorized vector layer and feature raster)  error <a href="https://github.com/EnMAP-Box/enmap-box/issues/177">#177</a></li><li>location map tool is broken <a href="https://github.com/EnMAP-Box/enmap-box/issues/242">#242</a></li><li>[Map View] 'QgsPointXY' object has no attribute 'toCrs' <a href="https://github.com/EnMAP-Box/enmap-box/issues/243">#243</a></li><li>[GEE Time Series Explorer] fix problem with STAC format  changes <a href="https://github.com/EnMAP-Box/enmap-box/issues/283">#283</a></li><li>netCDF4 requirement blocks main GUI <a href="https://github.com/EnMAP-Box/enmap-box/issues/401">#401</a></li></ul>