summaryrefslogtreecommitdiff
path: root/django/contrib/gis
AgeCommit message (Collapse)Author
2026-04-28Fixed #36990 -- Bumped OpenLayers to 10.9.0.VIZZARD-X
2026-04-19Formatted JavaScript files.Tom Carrick
2026-03-12Refs #36727 -- Factored out _must_transform_value() in BaseSpatialOperations.Simon Charette
2026-03-12Fixed #36727 -- Deprecated Field.get_placeholder in favor of ↵Simon Charette
get_placeholder_sql. The lack of ability of the get_placeholder call chain to return SQL and parameters separated so they can be mogrified by the backend at execution time forced implementations to dangerously interpolate potentially user controlled values. The get_placeholder_sql name was chosen due to its proximity to the previous method, but other options such as Field.as_sql were considered but ultimately rejected due to its different input signature compared to Expression.as_sql that might have lead to confusion. There is a lot of overlap between what Field.get_db_prep_value and get_placeholder_sql do but folding the latter in the former would require changing its return signature to return expression which is a way more invasive change than what is proposed here. Given we always call get_db_prep_value it might still be an avenue worth exploring in the future to offer a publicly documented interface to allow field to take an active part in the compilation chain. Thanks Jacob for the review.
2026-02-10Fixed #36854 -- Updated GEOS init and finish bindings.David Smith
2026-02-09Refs #36036 -- Added note about z argument in GEOSCoordSeq.__init__().David Smith
When dropping support for GEOS 3.13 the `GEOSCoordSeq_hasZ()` function will be available on all supported GEOS versions. Instead of the parent geometry providing the z dimension we can reply on GEOSCoordSeq functions directly. This will follow a similar implementation to what was done for the M dimension. While it could be adopted earlier we would need to guess that geometries with 3 dimensions on GEOS < 3.14 are Z geometries.
2026-02-09Refs #36036 -- Added m dimension to GEOSCoordSeq.David Smith
2026-02-06Fixed #36246 -- Caught GDALException in BaseGeometryWidget.deserialize.JaeHyuck Sa
Signed-off-by: JaeHyuck Sa <wogur981208@gmail.com>
2026-02-03Fixed CVE-2026-1207 -- Prevented SQL injections in RasterField lookups via ↵Jacob Walls
band index. Thanks Tarek Nakkouch for the report, and Simon Charette for the initial triage and review.
2026-01-18Applied Black's 2026 stable style.Mariusz Felisiak
https://github.com/psf/black/releases/tag/26.1.0
2025-12-28Added some skips to GIS tests.Tim Graham
Also replaced some DatabaseFeatures.supports_<foo>_lookup attributes with @skipUnlessGISLookup.
2025-12-02Updated translations from Transifex.Natalia
Forwardport of 00575b79312c719a6b37035067095e2d679bb5d7 from stable/6.0.x.
2025-11-25Fixed #36756 -- Dropped support for GDAL 3.1 and 3.2.Mariusz Felisiak
2025-11-25Fixed #35783 -- Added NumDimensions GIS database function and ↵David Smith
__num_dimensions lookup.
2025-11-24Fixed #36738 -- Confirmed support for GDAL 3.12.Varun Kasyap Pentamaraju
Thanks David Smith for reviews.
2025-10-29Refs #35972 -- Returned params in a tuple in further lookups.Jacob Walls
2025-10-27Fixed #36624 -- Dropped support for MySQL < 8.4.Mariusz Felisiak
2025-10-03Fixed #36623 -- Dropped support for PostgreSQL 14 and PostGIS 3.1.Mariusz Felisiak
2025-09-22Refs #33783 -- Added IsEmpty GIS database function and __isempty lookup on ↵David Smith
SpatiaLite.
2025-09-18Updated translations from Transifex.Natalia
Forwardport of 2a2936c3e6444a0f37156773ca405cedaf28dea7 from stable/5.2.x.
2025-08-27Fixed #36577 -- Removed obsolete try-except for GIS layermapping imports.Adam Johnson
2025-08-21Fixed #36382 -- Confirmed support for GDAL 3.11.David Smith
TIGER driver was removed in GDAL 3.11. https://github.com/OSGeo/gdal/commit/eb793be0395ccba50e053a46b30cb90deb530990
2025-08-08Fixed typo in django/contrib/gis/geos/geometry.py.Alec Kerrigan
2025-08-05Fixed #36537 -- Ensured unique HTML IDs for geometry widget option scripts ↵Matthias Kestenholz
in the admin. This work amends the code from f2f6046c0f92ff1faed057da0711ac478eef439c where multiple geometry widgets rendered `<script>` elements in the admin with the same HTML `id`, resulting in invalid HTML and fragile JavaScript selectors. Refs #25706. This change uses the widget's textarea ID to generate a unique `id` for each JSON options `<script>`, ensuring valid and robust markup. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-08-04Fixed #35972 -- Fixed lookup crashes after subquery annotations.Jacob Walls
2025-07-23Refs #36500 -- Corrected rewrapped long lines fixed via a script.Mike Edmunds
Manually reformatted some comments and docstrings where autofix_w505.py changed the meaning of the formatting.
2025-07-23Refs #36500 -- Rewrapped long docstrings and block comments via a script.django-bot
Rewrapped long docstrings and block comments to 79 characters + newline using script from https://github.com/medmunds/autofix-w505.
2025-07-23Refs #36500 -- Shortened some long docstrings and comments.Mike Edmunds
Manually reformatted some long docstrings and comments that would be damaged by the to-be-applied autofixer script, in cases where editorial judgment seemed necessary for style or wording changes.
2025-07-23Removed double spaces after periods and within phrases.Sarah Boyce
2025-07-21Improved consistency of GEOS error messages.David Smith
2025-07-21Added message to TypeError exceptions in GEOS WKTReader and WKBReader.David Smith
2025-07-20Fixed #28696 -- Added GeometryType GIS database function and __geom_type lookup.Ahmed Ibrahim
Co-Authored-By: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2025-06-25Fixed #36471 -- Added support for __coveredby GIS lookup and Collect, ↵Mariusz Felisiak
GeoHash, IsValid on MariaDB 12.0.1+.
2025-06-12Fixed #25706 -- Refactored geometry widgets to remove inline JavaScript.Claude Paroz
Refactored GIS-related JavaScript initialization to eliminate inline scripts from templates. Added support for specifying a base layer using the new `base_layer_name` attribute on `BaseGeometryWidget`, allowing custom map tile providers via user-defined JavaScript. As a result, the `gis/openlayers-osm.html` template was removed. Thanks Sarah Boyce for reviews. Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
2025-06-05Added validation to BaseSpatialFeatures.has_<Func>_function.Tim Graham
2025-03-31Refs #28909 -- Simplified code using unpacking generalizations.Aarni Koskela
2025-03-31Updated translations from Transifex.Sarah Boyce
Forwardport of cc31b389a11559396fc039511c0dc567d9ade469 from stable/5.2.x.
2025-03-30Fixed warnings per flake8 7.2.0.Mariusz Felisiak
https://github.com/PyCQA/flake8/releases/tag/7.2.0
2025-03-03Fixed #35444 -- Added generic support for Aggregate.order_by.Chris Muthig
This moves the behaviors of `order_by` used in Postgres aggregates into the `Aggregate` class. This allows for creating aggregate functions that support this behavior across all database engines. This is shown by moving the `StringAgg` class into the shared `aggregates` module and adding support for all databases. The Postgres `StringAgg` class is now a thin wrapper on the new shared `StringAgg` class. Thank you Simon Charette for the review.
2025-03-01Applied Black's 2025 stable style.Mariusz Felisiak
https://github.com/psf/black/releases/tag/25.1.0
2025-02-23Fixed #35705 -- Added Rotate GIS database function to rotate geometries.enprava
2025-02-13Reverted "Refs #35803 -- Added support for __coveredby GIS lookup on MariaDB ↵Mariusz Felisiak
11.7+." This partly reverts commit 0b7edb9fcdd33d47ec5701b4f9b9553e27a88e95. MariaDB reverted GIS functions.
2025-02-13Reverted "Fixed #35803 -- Added support for Collect, GeoHash, and IsValid on ↵Mariusz Felisiak
MariaDB 11.7+." This reverts commit c77573716a58af32ffcfc4fe87ff9e5c97909bd2. MariaDB reverted GIS functions.
2025-02-04Fixed #36058 -- Refactored SpatialRefSysMixin.srs to use cached_property.Arnaldo Govenem
Replaced manual caching complexity with cached_property for efficiency. Enhanced error handling with distinct messages for WKT and PROJ.4. Thanks to Sarah Boyce for the suggestions.
2025-02-03Refs #36036 -- Added support for GEOSHasM.Andrew Harris
2025-01-15Refs #35058 -- Removed OGRGeometry.coord_dim setter per deprecation timeline.Sarah Boyce
2025-01-15Removed django.contrib.gis.geoip2.GeoIP2.open() per deprecation timeline.Sarah Boyce
2025-01-15Removed django.contrib.gis.geoip2.GeoIP2.coords() per deprecation timeline.Sarah Boyce
2025-01-15Refs #33817 -- Removed support for cx_Oracle per deprecation timeline.Sarah Boyce
2025-01-15Simplified GeoIP2._query() when passing IPv4Address()/IPv6Address() instances.Mariusz Felisiak
There is no need to call validate_ipv46_address() for ipaddress.IPv4Address()/ipaddress.IPv6Address() instances since this relies on trying to create these kind objects from strings, so they will always be valid.