Version 2.0.2 (2026-05-12):
- SECURITY FIX (detect-secrets false positive): MGRS letter constants
in coord_parser.py were flagged as high-entropy Base64 strings by
detect-secrets scanner. Replaced literal alphabet strings with
computed constants using string.ascii_uppercase filtered for
MGRS-excluded letters (I, O). Functionally identical, semantically
clearer, and bypasses the false positive without compromising the
scanner.
Version 2.0.1 (2026-05-12):
- SECURITY FIX (Bandit B602): removed shell=True from GNSS subprocess
calls in ppk_processor and ppp_processor. Now uses subprocess.run with
command list (shell=False default), which is safer and equally
compatible with paths containing spaces on Windows. Python
automatically quotes list arguments. For logging, uses
subprocess.list2cmdline() to show the command without security risk.
This was the blocker preventing publication to plugins.qgis.org.
- REMOVED: manual shell string construction (' '.join with quotes) —
no longer needed since subprocess.run handles list arguments correctly
on Windows.
Version 2.0.0 (2026-05-12):
NEW MAJOR FEATURES:
- VISUAL COMPARISON: Swipe Tool integrated. ArcGIS Pro-style draggable
divider (horizontal/vertical), magnifier circle mode, adjustable
transparency (0-100 percent), PNG/JPG/PDF export, keyboard shortcuts
(arrows, +/-, Ctrl+S), QSettings persistence. Works with raster,
vector, WMS/XYZ and mesh layers.
- NAVIGATION: Go-To Tool integrated. Separate input fields per
coordinate format (DD/DMS/UTM/MGRS) with live conversion. Auto-detects
UTM zone from project CRS (32717/32718/32719 for Peru). Smart paste
directly into UTM fields (resolves Qt SpinBox paste bug). Multi-paste
dialog for creating N markers from free text (Excel/WhatsApp).
Animated ArcGIS-style flash marker. Nominatim geocoder with LATAM
country filters. Persistent bookmarks with QSettings. Markers as
ephemeral graphics (no TOC pollution) with conversion to GeoPackage or
memory layer.
- About dialog redesigned with TUCSA branding, services info, and
contact links.
- Core utilities expanded: coord_parser.py (USGS UTM algorithm),
paste_helpers.py (smart text parsing), smart_widgets.py (paste-aware
SpinBoxes).
Version 1.0.8 (2026-04-16):
- GNSS CRITICAL FIX: normalize all file paths with os.path.normpath()
before passing to RTKLIB. Mixed forward/backward slashes (D:/YURI
TRABAJOS/...\PPK.conf) caused RTKLIB to fail with "no obs data" on
Windows. This was the ROOT CAUSE of all processing failures.
Version 1.0.6 (2026-04-16):
- GNSS CRITICAL FIX: replaced subprocess.Popen with subprocess.run for
RTKLIB execution. Popen with shell=True in QThread on Windows was
silently failing to quote paths with spaces, causing 'no obs data'
errors. subprocess.run is more reliable in threaded Qt contexts.
- GNSS: added explicit [CMD] log line showing the actual quoted
command sent to RTKLIB for debugging.
- GNSS: skip logging thousands of 'processing' progress lines, show
summary count instead.
- GNSS: detect 'no obs data' error and report clear message.
Version 1.0.5 (2026-04-16):
- GNSS CRITICAL FIX: posmode mapping was completely wrong. static was
mapped to 0 (Single/autonomous) instead of 3 (Static relative).
kinematic was 1 (DGPS) instead of 2 (Kinematic). PPP modes were also
wrong (4/5 instead of 7/6). This caused RTKLIB to run in Single mode
ignoring the base station, producing 0 solutions.
- Correct mapping: static=3, kinematic=2, movbase=4, fixed=5,
ppp-static=7, ppp-kinematic=6.
Version 1.0.4 (2026-04-16):
- GNSS FIX: rnx2rtkp binary search now checks three locations: plugin
root/rtklib_bin/, tools/gnss_postprocess/rtklib_bin/, and system PATH.
Previously only checked plugin root, causing 'not found' when binary
was in the gnss_postprocess subfolder.
Version 1.0.3 (2026-04-16):
- GNSS CRITICAL FIX: paths with spaces (e.g. 'D:/YURI TRABAJOS/WORK
GIS/...') now work correctly on Windows. Previously RTKLIB received
broken arguments and silently failed (showed help screen instead of
processing).
- GNSS FIX: base RINEX file now passed as positional argument (not
with -r flag which is for ECEF coordinates). Correct rnx2rtkp syntax:
rover.obs base.obs nav.nav.
- GNSS: added detection of RTKLIB help screen output to report clear
error instead of silent zero fix/float.
- Same fixes applied to PPP processor for consistency.
Version 1.0.2 (2026-04-16):
- GNSS: file dialogs now accept year-based RINEX extensions (.26o,
.26n, .26l, .26g, .25o, .25n, etc.) in addition to .obs/.nav/.rnx.
- GNSS: auto-detection of navigation files when rover observation file
is selected.
- GNSS: GLONASS nav filter updated.
Version 1.0.1 (2026-04-14):
- Security: validated URL scheme in RTKLIB installer (Bandit B310).
Version 1.0.0 (2026-04-13):
- Initial unified release integrating six previously separate plugins.
- Top-level menu YF GIS Amazonia with thematic submenus.
- Memoria Descriptiva v3.2 (three modes), Segmenter, YF Tools Plus
v2.3.
- GNSS Post-Process v2.0 with RTKLIB integration.
- SAF Generator v2.1 with six spatial distribution methods.
- Attribute Search v1.1 with SQL injection fix.
- Core infrastructure: lazy-loaded tool registry, PyQt5/PyQt6
compatibility, shared CRS utilities, unified logger.
yes
yuricaller
2026-05-12T22:55:49.690802+00:00
3.22.0
3.99.0
no
Plugin Tags