Version: [6105] GeoBridge 0.1.36

0.1.36 Browse by Variable: fixed "Download GeoTIFF" crashing with
"netCDFDataset::_SetProjection() should only be called once in update
mode!" on some CDS files (confirmed on
derived-era5-land-daily-statistics) — GDAL's netCDF driver can
consider a projection already set internally even when GetSpatialRef()
still reports None, so the plugin now tolerates that instead of
retrying the write; a related bug where the source temp file stayed
locked after any conversion error (masking the real error behind a
Windows "[WinError 32]") is fixed too. Downloaded GeoTIFF bands are
now labelled with their actual calendar date (built from the request's
own year/month/day, not the file's own time metadata, which some CDS
derived products encode relative to an arbitrary origin) instead of
being unnamed. Search and Browse by Variable: new "Clip to polygon
shape" option under Area of interest — once "Use extent" captures a
real polygon layer, ticking this masks the exported GeoTIFF to that
polygon's actual outline instead of just its rectangular bounding box.
Search tab "Export to GeoTIFF": enabled multi-threaded chunk fetching
for ARCO Zarr reads (was strictly sequential, one chunk at a time,
confirmed via measurement); a new warning/hard-block now estimates how
slow an export will be from its area and date range before it starts,
instead of only warning for "Raw" aggregation — every aggregation
reads the full native-resolution range over the network first
regardless, so e.g. "Monthly mean" over a wide area and a long range
was just as slow as "Raw" with no warning at all. A small area is
exempted from that check no matter how long the date range, since that
shape is confirmed fast (measured: 6 years over a small area in under
15 seconds) rather than slow.
0.1.35 README: bump the QGIS badge to ≥ 3.38, the version that
actually bundles GDAL 3.9+ for full Zarr V3 functionality — the plugin
still installs and mostly works on 3.28+ (see the Requirements
paragraph below the badge), but 3.38+ is what avoids the "Variable not
found in Zarr store" surprise for the datasets that need it.
0.1.34 Shortened the "Variable not found in Zarr store" error (the
old-QGIS/GDAL one from 0.1.33's new Troubleshooting page) — no more
confusing "Available: None"; on the Search tab it's now followed by a
clickable link straight to that Troubleshooting section instead of
repeating the explanation inline. Time Series tab: this same error is
now also logged in full (with a stack trace) to Log Messages →
GeoBridge, matching Search/Browse's exports.
0.1.33 Search tab: the "Export failed: ..." status box could cut off a
long error message (e.g. the Zarr V3 "Available: None" explanation) —
given more room, and now also points to View → Panels → Log Messages →
GeoBridge for the full text, matching 0.1.32's Browse-tab fix. Docs:
add a Troubleshooting section covering that exact error (old
QGIS/GDAL, needs Zarr V3 support) with the fix for each platform, and
a note about where to find a full error when the in-app message looks
cut off.
0.1.32 A failed "Export to GeoTIFF"/"Download GeoTIFF" now logs the
full error, including a full stack trace, to View → Panels → Log
Messages → GeoBridge, and the on-screen message on the Browse by
Variable tab now says to check there — the narrow, fixed-size status
label couldn't reliably show a long error in full.
0.1.31 Two fixes from the Browse by Variable tab: (1) Download GeoTIFF
could fail with "There is no affine transformation and no GCPs" for
some datasets (confirmed on derived-era5-land-daily-statistics) — the
downloaded file is NetCDF4, whose container format is literally HDF5,
and GDAL was sometimes auto-picking its plain HDF5 driver instead of
its netCDF one, losing all CF-convention georeferencing in the
process; now the netCDF driver is forced explicitly rather than left
to auto-detection. (2) The Area of interest summary's second line
(once real coordinates are set) could get clipped in this tab's
narrower right-hand column — it's genuinely layout-managed here
(unlike the Search tab's equivalent, fixed in 0.1.29), but had nowhere
to grow into within this tab's fixed window size; that window now has
more headroom.
0.1.30 Search tab: fix the variable/"Dataset details" line under a
selected result getting clipped when the dataset's title is long
enough to wrap onto two lines itself (e.g. "CERRA sub-daily regional
reanalysis data for Europe on single levels from 1984 to present") —
confirmed in a Linux screenshot. Also corrects a mistake in 0.1.29's
fix: it moved the right-column "Export to GeoTIFF" box in step with
the left-column AOI box, which aren't related to each other —
groupBox_export no longer moves for a left-column-only change.
0.1.29 Search tab: fix the area-of-interest summary line ("Drawn on
map — West: ... South: ... East: ... North: ...") getting its second
line clipped when it wraps — its box only ever had room for one line.
This is the Search tab specifically (its Area of interest section is
absolute-positioned, not layout-managed, so nothing there grows on its
own); confirmed the Browse by Variable tab's equivalent already
auto-sizes correctly since it does use a real layout. Now sized for
two lines, with everything below it on the tab shifted down to match.
0.1.28 Fix the 0.1.26 legend tick-label fix not actually showing on
screen: the label box itself was sized correctly, but the surrounding
"Legend" group box on the Search tab has its own separate fixed
height, too short to fit the taller box — so the labels were still
clipped by the group box's edge regardless. Confirmed still cropped in
a fresh Linux screenshot after 0.1.26. Group box is now tall enough to
fit the legend widget in full.
0.1.27 Fix the 0.1.25 API Key tab Linux note being effectively
invisible: it kept its static designer position, but this tab's other
widgets get shifted up at runtime (closing the gap left by a
permanently-hidden legacy banner) and the whole tab's window is
deliberately kept small — between the two, the note ended up sitting
right at/past the bottom edge of the visible window. It now moves up
along with the rest, and the tab's window got a little taller to fit
it.
0.1.26 Search tab legend: fix the tick value labels (e.g. "254",
"296") getting clipped at the bottom on Linux — this was a separate
bug from 0.1.22's fix (that one was about the labels being too narrow
and overlapping sideways; this one was the label box being too short
and cropping the bottom of the digits under Linux's taller default
font). Confirmed by a real Linux screenshot after 0.1.22 shipped.
0.1.25 API Key tab: below the "Get a free key..." hint, add a note for
Linux users that GDAL versions can vary by distro, linking straight to
the Read the Docs "Installing QGIS on Linux (Ubuntu) with a matching
GDAL version" section.
0.1.24 Genericized the disclaimer's mention of the specific program
this plugin was built under (README, this page's About text, and the
Read the Docs landing page) — no longer names it, just notes it's an
ECMWF-affiliated open-source program. Still not an official ECMWF
product, still independent, still not maintained or supported by
ECMWF.
0.1.23 Fix two more Linux-only overlap spots from the same cause as
0.1.22's legend fix (bold text rendering wider under Linux's default
font than Windows'): the bold "Set area of interest by:" label on the
Search and Browse by Variable tabs, and the bold current-timestep
label next to the Play button on the Search tab's WMTS time slider
(this one could show a fairly long message like "Layer failed to load
— check connection." right beside a fixed-position button). Both now
wrap to a second line instead of running into neighbouring
text/widgets if the rendered text is wider than expected.
0.1.22 Fix the Search tab legend's tick value labels overlapping on
Linux (confirmed working fine on Windows, overlapping there with the
same numbers) — they were sized from a fixed guessed pixel width tuned
for Windows' default font, and Linux's different default system font
renders the same digits at a different width. Now measured from the
label's actual rendered width instead, so it's correct regardless of
platform/font.
0.1.21 Security review fixes (QGIS plugin repository's
Bandit/detect-secrets scan): every outgoing HTTP request now goes
through a shared helper that refuses any URL scheme other than
http/https before opening it (previously flagged as a theoretical
local-file-read risk if a URL ever resolved to something like
"file://"); a couple of broad "catch anything and continue" blocks
were narrowed to the specific exceptions they can actually raise, and
the two that are genuinely meant to catch anything (an optional GDAL
setup step, and best-effort diagnostic logging that must never
interrupt the real operation) are now explicitly marked as intentional
rather than looking like an oversight; and a placeholder example
string in an error message ("your-key") that a secret-scanner mistook
for a real hardcoded credential is now explicitly marked as not one.
No functional/behavioral changes.
0.1.20 No longer marked experimental in the Plugin Manager — stable
after the full gdal-native rewrite plus extensive live testing
(several real bugs found and fixed along the way, see below and
0.1.19's entry). Time Series tab: removed the "Quick" (WMTS
GetFeatureInfo, no-auth) method entirely — the tab is now always the
ARCO-Zarr "Full history" bulk read, with Aggregation permanently in
place of the old Step control; a dataset with no ARCO Zarr archive now
just disables "Pick point on map" instead of falling back to a method
that no longer exists. Fixed a third, separate Windows "file in use by
another process" error that could interrupt CDS downloads/conversions
(GDAL's own file-open calls right after a download, not just this
plugin's own code). Datasets/variables using an unusually-spelled "no
real unit" marker (e.g. aod550's "~", or "Numeric"/"Fraction"/"index
value" on various fire-danger and ice-concentration variables) are now
correctly shown as "(dimensionless)" in the legend instead of a stray
non-numeric unit string; the legend's unit now shows once on the title
line instead of repeated on every tick label, which was overlapping
for longer units. Added a clearer error message (with a suggestion to
upgrade QGIS/GDAL) for the rare case where an older GDAL build can't
read a dataset's newer Zarr V3 storage format — confirmed happening in
practice on QGIS 3.34 (GDAL < 3.9).
0.1.19 Complete rewrite: the plugin no longer depends on the geobridge
Python library or any pip-installed package at all
(numpy/xarray/zarr/dask/rioxarray/pyproj included) — everything now
runs on QGIS's own bundled GDAL, with no "Install dependencies" step.
Search tab: restored geobridge's curated use-case/domain matching
(e.g. "urban heat island" now surfaces its exact curated recipe, not
just a generic text match) alongside free-text search, and the legend
now shows a color-scale with tick marks and units, including for
datasets that split variables across several subsets (e.g. ERA5-Land)
where it previously stayed blank. Time Series tab: "Full history" gets
an Aggregation dropdown (raw/daily/weekly/monthly/annual mean/max/min)
in place of Step, and a silent bug where it could return exactly 1
point regardless of the requested date range (a Zarr time-unit
mismatch, no error shown) is fixed; picking a point on the map is now
one-shot instead of staying armed for another click. Fixed two
separate Windows "file in use by another process" errors that could
interrupt CDS downloads. The dialog no longer stays pinned above every
other application on screen. Added ARCO Zarr-only notices on the
Search/Time Series tabs linking to a new docs page listing every
ARCO-backed dataset, a CDS sign-in link and API-key quickstart link on
the API Key tab, and a note that this is an independent ECMWF Code for
Earth participant project, not an official ECMWF product.
0.1.18 Fix "Install dependencies" failing on some fresh installs with
"the ssl module in Python is not available": the pip subprocess it
spawns now inherits QGIS's own OpenSSL DLL directory on PATH, which a
plain subprocess doesn't otherwise see. Search tab: default Start/End
for a newly selected dataset are now floored to midnight instead of
using geobridge's raw metadata timestamp verbatim (which could carry a
stray non-zero minute/second and make every tile in the default window
fail identically without you touching the date fields). "Build layers"
now refuses (with an explanation) to start a new batch while a
previous batch's tiles are still being prefetched, instead of piling
more requests on top and risking overloading the WMTS server. Bumped
the minimum installed geobridge version to 0.1.13.
0.1.17 Fix "Draw on map" for area of interest: completing a rectangle
no longer depends on a second signal round-trip to bring the dialog
back (it could stay hidden indefinitely), and the crosshair map tool
no longer gets stuck active on the canvas (including after closing the
plugin) when no previous tool existed to restore. Area-of-interest
warning label is no longer clipped for long "too large" messages, and
now shows a positive confirmation when the area size is fine instead
of just going blank. Search tab: warns before building WMTS layers for
a monthly/yearly-native dataset whose start date doesn't land on the
expected calendar boundary (a frequent cause of every tile failing
identically), and now shows the actual data-coverage range for the
selected variable next to Start/End, warning (default: no) if the
requested range falls entirely outside it. Bumped the minimum
installed geobridge version to 0.1.12.
0.1.16 README: add a Mermaid workflow diagram, a Mermaid module
diagram in Architecture, and emoji markers on every section heading.
0.1.15 README: add an Authors section (Mentors, Participants).
0.1.14 README: add a centered logo/title header,
License/QGIS-version/docs/last-commit/issues badges, and an up-to-date
Search tab screenshot; refresh the same screenshot on Read the Docs.
0.1.13 Docs: replace the large Read the Docs sidebar logo with a small
icon on the home page only; favicon unchanged.
0.1.12 Docs: close out the CDS API key walkthrough with a reminder to
accept the licence and to paste only the raw token (not the .cdsapirc
url:/key: lines) into this plugin's API key field; add the plugin's
own icon as the Read the Docs site favicon/logo.
0.1.11 Search tab: add a per-variable color-scale legend and a Help
button linking to the documentation site; Step and Aggregation
dropdowns now grey out choices finer than a dataset's native time
resolution (not just flag the exact match); Time Series Y-axis now
shows units; area of interest gets independent Draw-on-map/From-layer
controls (polygon layers only), a source-tagged bbox display, and info
icons clarifying it's a bounding box (not a polygon clip) that only
scopes Export to GeoTIFF, not the WMTS preview. Browse by Variable
tab: auto-fill dataset-specific required CDS fields (e.g.
reference_dataset/version) that the fixed field cascade doesn't cover,
fixing CDS 400 rejections on datasets like
derived-near-surface-meteorological-variables; same area-of-interest
controls as the Search tab. Export to GeoTIFF aggregation now offers
daily/monthly/annual max and min alongside mean. Docs: add a full
illustrated walkthrough for creating a CDS API key.
0.1.10 Add a show/hide eye icon inside the API Key field (masked by
default) so you can check what you typed before saving.
0.1.9 Browse by Variable tab now lists only datasets present in
geobridge's cds_snapshot.yaml catalogue, dropping ARCO-only entries
with no CDS catalogue backing (142 -> 136 datasets on the current
geobridge version).
0.1.8 Add Sphinx documentation (docs/, ready for Read the Docs)
covering installation and each tab, with screenshots. Docs source is
excluded from the shipped plugin zip, same as build_plugin.sh and
test/.
0.1.7 Fix area-of-interest bleed-through between the Search tab and
Browse-by-Variable tab: they shared a single bbox, so
drawing/selecting an area in one tab silently overwrote what the other
tab would export/download. Each tab now keeps its own independent area
of interest.
0.1.6 Fix "No module named 'netCDF4'" when exporting/downloading
CDS-API-path datasets not in the ARCO Zarr lake (e.g. ERA5-Land via
the Browse tab): netcdf4 is now installed alongside geobridge[zarr],
and the dependency-availability check catches its absence instead of
reporting everything as installed.
0.1.5 Silence harmless "AttributeError: 'NoneType' object has no
attribute 'write'" log spam from numpy/scikit-learn (a geobridge
dependency) writing deprecation notices to sys.stderr, which QGIS
leaves as None until its Python Console has been opened once.
0.1.4 Qt6 compatibility: fully qualified 33 unscoped enum references
(Qt.AlignLeft -> Qt.AlignmentFlag.AlignLeft, QMessageBox.Yes ->
QMessageBox.StandardButton.Yes, etc.) across timeseries_task.py,
export_task.py, ts_plot_widget.py, browse_tab.py,
geobridge_plugin_dialog.py.
0.1.3 Stopped shipping .gitignore in the release zip — a hidden file
inside the plugin tripped the plugin repo's suspicious-file scan.
0.1.2 Stopped shipping build_plugin.sh in the release zip — a .sh file
inside the plugin tripped the plugin repo's suspicious-file-type scan.
0.1.1 Security-scan fixes: narrowed broad except/pass blocks flagged
by Bandit, renamed a settings-key constant that false-positived as a
hardcoded secret, annotated the one legitimate subprocess call, and
stopped shipping the test/ folder in the release zip.
0.1.0 First release: API key tab, semantic search tab, WMTS
time-slider viewer (ERA5/CAMS/CEMS via ECMWF WMTS).

yes

iliasmachairas

2026-09-14T21:40:34.409767+00:00

3.28.0

3.99.0

None

no

Version management

Plugin details