Changelog
[0.9.23] - 2026-08-08
- Update documentation link to GEOSTATS_REFERENCE_MANUAL.html
[0.9.22] - 2026-08-07
- Added online user manual link (https://yusufeminoglu.github.io/planx_geostats/GEOSTATS_REFERENCE_MANUAL.html) and GitHub repository star call-to-action.
[0.9.21] - 2026-08-07
- Add floating Save as PDF button to reference manual
[0.9.20] - 2026-08-07
- 2.5x manual expansion: 300+ equations, 215+ DOI refs, HelpUrlMixin, GitHub Pages
[0.9.19] - 2026-07-14
- Add Bivariate Local Moran’s I (Bivariate LISA) algorithm and unique icon
[0.9.18] - 2026-06-18
- docs: add CITATION.cff for Zenodo DOI integration
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[0.9.17] - 2026-06-05
- Added
Spatial Inequality (Gini and Spatial Gini) to the Urban Pattern Scan group.
- Added classic Gini, neighbor/non-neighbor Gini components, spatial Gini share, spatial polarization, and permutation inference.
- Added optional CSV/JSON exports, HTML analyst guidance, algorithm icon, provider registration, smoke coverage, and release-gate count alignment.
- Added a full QGIS runtime algorithm matrix that executes every GeoStats Processing algorithm against bundled sample data on QGIS 3 LTR and QGIS 4.
- Restored the root plugin icon path by packaging
icons/icon.png and pointing metadata.txt to the PNG asset used by the Processing provider.
- Fixed Similarity Search expression-context handling and geometry-type checks in OLS/GLR residual diagnostics.
- Hardened optional PySAL/MGWR dependency diagnostics so broken import-time dependency stacks are reported with the exact installer command.
[0.9.15] - 2026-05-30
- Revised plugin icon to SVG
[0.9.14] - 2026-05-27
- Code quality and Hub submission hygiene.
- Added setup.cfg (flake8: W503, E203 disabled; max-line-length=120).
- Fixed 21 flake8 issues across 15 files: unused QVariant imports, missing blank lines, continuation indentation hoisted from f-strings, trailing whitespace stripped.
- All 42 Python files compile cleanly. Zero non-E501 flake8 issues.
[0.9.13] - 2026-05-26
- GeoStats provider/runtime smoke coverage updates and QGIS 3.40+/4 compatibility validation.
[0.9.12] - 2026-05-26
- Maintenance release: refreshed Plugin Hub package after QGIS 3 and QGIS 4 compatibility validation.
[0.9.10] - 2026-05-22
Changed
- Completed beta stabilization for the PlanX GeoStats Lab Processing provider.
- Centralized optional dependency error guidance for MGWR, Spatial Lag Regression, and Spatial Error Regression so missing-library failures point users to GeoStats Library Status and the explicit installer workflow.
- Hardened output-layer metadata handling so field descriptions are retained as custom layer properties even when a provider cannot apply field aliases.
- Hardened centroid and geometry handling across distance, center, distribution, pattern, GWR, MGWR, and export workflows so missing, empty, invalid, or provider-problem geometries are skipped safely instead of crashing the algorithm.
Added
- Added QGIS-independent smoke coverage for dependency guidance, metadata resilience, null/empty geometry handling, and centroid failure handling.
- Added release-gate coverage to keep core decision helpers, output metadata contracts, manual QA documentation, and package verification aligned.
[0.9.9] - 2026-05-22
Added
- Added personalized Workflow Advisor inputs for analysis goal, geometry context, outcome type, and explanatory-variable availability.
- Added a personalized recommendation section that returns a suggested tool sequence and pre-trust checks.
[0.9.8] - 2026-05-22
Added
- Added GeoStats Workflow Advisor, a Processing report that maps planning questions to recommended GeoStats tools, prerequisites, outputs, and follow-up checks.
- Added method assumptions, common pitfalls, safer moves, and bundled-sample starter recipes to the Workflow Advisor report.
- Added smoke coverage for Workflow Advisor guidance sections and a minimum provider algorithm-count guard.
- Added a manual QA matrix covering setup, pattern analysis, geometry summaries, modeling workflows, symbology, reports, and release gates.
- Added shared report-guidance and output-layer metadata helpers for more consistent professional reports and layer outputs.
- Added VIF diagnostics to regression quality reporting and rank/score auditing to Model Comparison Matrix.
[0.9.7] - 2026-05-22
Added
- Added smoke coverage that keeps
metadata.txt, CHANGELOG.md, and the README release verification command synchronized on the same plugin version.
[0.9.6] - 2026-05-22
Changed
- Expanded the Sample Dataset Guide QA fixture table to list every model-output layer explicitly instead of using a wildcard label.
Added
- Added smoke coverage that verifies the generated Sample Dataset Guide source mentions every loadable sample and QA layer.
[0.9.5] - 2026-05-22
Added
- Added smoke coverage that keeps the Sample Dataset Guide load options synchronized with the bundled synthetic QA GeoPackage layers.
- Added an explicit loading-modes section to the Sample Dataset Guide HTML report.
[0.9.4] - 2026-05-22
Added
- Added
planx_geostats_synthetic_qa.gpkg, a separate deterministic QA fixture with point, line, polygon, and minimal model-output layers.
- Added synthetic QA sample smoke checks for layer presence, geometry types, feature counts, model-output fields, binary fields, and count fields.
- Added synthetic QA core-engine smoke checks for ANN, Ripley’s K, GLR logistic/Poisson, and Linear Directional Mean.
- Added static smoke coverage for multipart guards around direct
asPolyline() / asPolygon() geometry conversions.
- Added a Sample Dataset Guide load selector for the Izmir planning sample, the synthetic QA fixture, or both datasets.
Changed
- Expanded the Sample Dataset Guide and sample-data README to document both the Izmir planning sample and the synthetic QA fixture.
- Removed several unused runtime imports detected during deep QA cleanup.
- Hardened release code paths so the packaged plugin scans with no Bandit findings in local validation.
- Updated release validation workflow for version
0.9.4.
[0.9.3] - 2026-05-21
Fixed
- Fixed Incremental Spatial Autocorrelation HTML report generation on QGIS 3.40 by avoiding
html module shadowing.
- Fixed KNN spatial weight generation on QGIS 3.40 by using the current
QgsSpatialIndex.nearestNeighbor API with a legacy fallback.
Added
- Added smoke coverage for QGIS spatial-index API compatibility and HTML module shadowing in report writers.
[0.9.2] - 2026-05-21
Changed
- Removed developer-only
tests/ files from release zip packages so QGIS Hub security scanning only evaluates runtime plugin code.
- Removed hidden
.gitignore metadata from release zip packages; it remains in the source repository only.
- Added release-zip verification to the developer validation workflow.
Fixed
- Resolved the QGIS Hub Bandit block caused by source-only SQLite smoke-test SQL strings being included in the uploaded plugin zip.
- Cleaned several low-risk Hub quality warnings, including unused imports, import ordering, unused local variables, and whitespace style issues.
- Replaced a runtime
assert in the library installer with an explicit Processing exception.
[0.9.1] - 2026-05-21
Added
- Added a QGIS-independent provider catalog smoke test to protect algorithm registration, unique Processing ids, display names, and workflow group coverage.
- Expanded core smoke coverage for GLR family validation and Poisson likelihood accounting.
- Added a plugin-local
.gitignore for Python caches, IDE files, OS files, and QGIS backup artifacts.
- Added simple, distinct PNG icons for every Processing algorithm and wired each algorithm to its own icon.
Fixed
- Corrected Poisson GLR log-likelihood and AIC calculation to include the count factorial term.
Changed
- Kept optional-library status and installation workflows only under
00 | Setup and Diagnostics; removed the separate GeoStats Libraries menu/toolbar UI.
Removed
- Removed the unused dependency dialog UI now that setup workflows are Processing-only.
[0.9.0] - 2026-05-20
Changed
- Renamed the Processing provider to PlanX GeoStats Lab.
- Reorganized tools into English PlanX planning workflow groups: Data Preparation and Neighborhoods, Urban Pattern Scan, Hot Spots and Spatial Outliers, Centers Direction and Dispersion, and Models and Scenarios.
- Moved dependency installation out of Processing and into the built-in GeoStats Libraries helper under the PlanX GeoStats Lab menu.
- Expanded the GeoStats Libraries helper with detailed English guide text, package role explanations, command preview guidance, install-mode guidance, and restart guidance.
- Moved the GeoStats Libraries menu action under PlanX GeoStats Lab > GeoStats Libraries so it is scoped to the GeoStats plugin rather than the general PlanX menu.
- Added a GeoStats Libraries toolbar action so the helper remains visible even when QGIS nests plugin menus differently.
- Corrected dependency command generation so QGIS application executables are not shown as pip runners; the helper and status report now distinguish the QGIS host application from the Python executable used for pip.
- Expanded the library status report with a clear “How to install” section for guided installation and manual OSGeo Shell usage.
- Added a Processing Toolbox installer,
Install / Update GeoStats Libraries, under 00 | Setup and Diagnostics for profiles where the menu helper is not visible.
- Improved the Processing installer with preview-only behavior, detected path logging, and smarter default mode selection.
- Fixed Global Moran’s I z-score and p-value calculation in the shared statistics engine.
- Fixed General G value alignment for QGIS layers whose feature IDs are not contiguous zero-based indices.
- Added neighbor-count diagnostic fields to Gi* and Local Moran output layers.
- Added shared analysis diagnostics for numeric quality, CRS warnings, and neighborhood graph summaries.
- Upgraded Global Moran and General G reports with executive summaries, diagnostics, caveats, and recommended next actions.
- Added OLS model-quality diagnostics for sample size, skipped records, near-constant predictors, multicollinearity, and condition number.
- Enhanced Exploratory Regression reports with model-quality checks, AICc rank reasons, and final-model review guidance.
- Upgraded Average Nearest Neighbor and Incremental Autocorrelation reports with executive summaries, CRS caveats, and next-action guidance.
- Added neighbor-support diagnostics to Incremental Autocorrelation distance scan results.
- Upgraded Sensitivity Test reports with Monte Carlo interpretation, input diagnostics, neighborhood diagnostics, caveats, and next-action guidance.
- Upgraded GWR outputs and reports with local support diagnostics, model-quality checks, CRS caveats, and bandwidth interpretation guidance.
- Added audit fields to Multivariate Clustering and Similarity Search outputs for cluster size, cluster distance, similarity percentile, and similarity tier.
- Added weight-quality checks and audit fields to Mean Center, Standard Distance, and Standard Deviational Ellipse outputs.
- Added Ripley’s K-Function as a new urban pattern scan tool with L(d)-d diagnostics, neighborhood support, and planning caveats.
- Added Generalized Linear Regression (GLR) with Gaussian, Logistic, and Poisson model families.
- Added Spatial Autoregression as a PySAL spreg-based spatial lag model with rho diagnostics, neighbor support, output audit fields, and a PlanX analyst report.
- Added Spatial Error Regression (SEM) with lambda diagnostics, residual spatial checks, audit fields, and model interpretation guidance.
- Added Multiscale Geographically Weighted Regression (MGWR) using PySAL mgwr with variable-specific bandwidths, local coefficient audit fields, and a scale-focused analyst report.
- Added Model Comparison Matrix for comparing PlanX model output layers by fit metrics, coverage, bias, and residual spatial autocorrelation.
- Added curated English-schema Izmir neighborhood sample GeoPackage for development, demos, manual QA, and regression workflow testing.
- Added Sample Dataset Guide to load the bundled sample layer from the Processing Toolbox and explain recommended workflows.
- Added Data Readiness Audit under setup diagnostics to review CRS risk, numeric field completeness, constant indicators, sample workflow readiness, and recommended next actions before formal analysis.
- Expanded Data Readiness Audit with geometry QA for empty, invalid, and multipart features before contiguity, local statistics, and distance-based workflows.
- Added a multicollinearity screen to Data Readiness Audit so high-correlation numeric field pairs are flagged before OLS, GLR, GWR, MGWR, and spatial regression workflows.
- Added analysis-role suggestions to Data Readiness Audit so numeric fields are labeled as target/pattern variables, explanatory candidates, count/intensity indicators, or review-only fields with likely tool guidance.
- Added optional field-level CSV export to Data Readiness Audit for spreadsheet QA logs and audit handoffs.
- Expanded Data Readiness Audit workflow guidance with target fields, candidate explanatory fields, recommended tool sequences, and planning-purpose notes for starter analyses.
- Added optional full JSON export to Data Readiness Audit for reproducible audit handoffs, automation, and downstream QA integration.
- Added distribution-shape diagnostics to Data Readiness Audit, including median, quartiles, IQR, skewness, IQR outlier counts, distribution notes, and risk warnings for skewed or outlier-heavy fields.
- Expanded bundled sample-data smoke tests to enforce English schema stability, numeric field types, expected value ranges, complete critical fields, and sufficient variation for analysis workflows.
- Added Bivariate Spatial Association (Lee’s L) for local cross-variable neighborhood diagnostics.
- Added shared residual spatial autocorrelation diagnostics to GLR, GWR, Spatial Autoregression, and MGWR reports.
- Added QGIS-independent core smoke tests for the main statistics engines and diagnostics helpers.
- Documented the smoke-test and packaging validation workflow in the README.
- Cleaned remaining special symbols from Processing feedback and generated reports.
- Replaced remaining legacy hyphenated labels in logs and generated HTML reports with PlanX GeoStats Lab.
- Reworked optional type hints to avoid Python 3.10-only union syntax in QGIS 3.28-era Python environments.
- Added an Exploratory Regression safety limit so overly large candidate-variable searches fail fast with guidance instead of tying up QGIS.
Added
- Registered Central Feature and Incremental Spatial Autocorrelation in the provider.
- Exploratory Regression tool for screening OLS variable combinations and ranking candidate models by AICc.
- Exploratory Regression report now records how many candidate models were estimated.
- GeoStats Library Status diagnostic algorithm under
00 | Setup and Diagnostics, producing a non-installing HTML dependency report and QGIS Python command preview.
- Install / Update GeoStats Libraries diagnostic algorithm with explicit approval, command logging, OSGeo Shell mode, and restart guidance.
[0.8.0] - 2026-05-20
Added
- Assessing Sensitivity toolset:
- Attribute Randomization Sensitivity Test — Monte Carlo permutation simulation for Global Moran’s I with SVG histogram HTML report.
- Measuring Geographic Distributions toolset:
- Linear Directional Mean — circular weighted mean orientation for line features with trend line output.
[0.7.0] - 2026-05-20
Added
- Mapping Clusters toolset:
- Multivariate Clustering (K-Means) — K-Means++ initialization, Z-score standardization, auto categorized symbology.
- Utilities toolset:
- Export Feature Attributes to CSV/ASCII — configurable delimiter, optional centroid coordinates.
[0.6.0] - 2026-05-20
Added
- Mapping Clusters toolset:
- Similarity Search — Z-score attribute profiling with Euclidean/Manhattan distance metrics, auto graduated symbology.
- Spatial Component Utilities toolset:
- Calculate Distance Band from Neighbor Count — k-th neighbor distance statistics with percentile HTML report.
[0.5.0] - 2026-05-20
Added
- Measuring Geographic Distributions toolset:
- Median Center — Weiszfeld’s algorithm for weighted spatial median.
- Analyzing Patterns toolset:
- High/Low Clustering (Getis-Ord General G) — global G index with randomization variance, HTML report.
[0.4.0] - 2026-05-20
Added
- Analyzing Patterns toolset:
- Average Nearest Neighbor (ANN) — chunked KDTree with z-score significance testing, HTML report.
- Measuring Geographic Distributions toolset:
- Standard Distance — weighted circular dispersion polygon at 1/2/3 std dev.
- Modeling Spatial Relationships toolset:
- Geographically Weighted Regression (GWR) — Fixed Gaussian, Fixed/Adaptive Bisquare kernels, local coefficients, auto graduated symbology on local R².
[0.3.0] - 2026-05-20
Added
- Analyzing Patterns toolset:
- Global Moran’s I — spatial autocorrelation with randomization variance.
- Modeling Spatial Relationships toolset:
- OLS Spatial Regression — ordinary least squares with diagnostics HTML report.
[0.2.0] - 2026-05-20
Added
- Mapping Clusters toolset:
- Local Moran’s I (LISA) — local spatial autocorrelation with HH/HL/LH/LL classification, auto categorized symbology.
- Measuring Geographic Distributions toolset:
- Mean Center — weighted arithmetic mean center.
- Standard Deviational Ellipse (SDE) — orientation, semi-axes, ellipse polygon output.
- Dependency Installer utility algorithm.
[0.1.0] - 2026-05-20
Added
- Mapping Clusters toolset:
- Getis-Ord Gi* Hot Spot Analysis — z-score and p-value with auto graduated symbology.
- Initial plugin skeleton, metadata, icons, and Processing provider registration.