GeoAlchemy 2 Changelog
======================

0.14.3
------

* Fix: Handle empty doctrings in optimized mode @adrien-berchet (#484)
* Test: Check for max width and height in raster insertion example @adrien-berchet (#482)

0.14.2
------

* Test: Add a container to run the tests @mbway (#479)
* Feat: Added type stub generation for dynamic functions @mbway (#478)
* Docs: Add new mapping style example in the gallery @adrien-berchet (#473)

0.14.1
------

* Add type annotations @shuttle1987 (#464)
* Test: Minor improvements @adrien-berchet (#465)
* Docs: Add util to replace keywords in docstrings @adrien-berchet (#461)
* Docs: Fix badges and link to docs @adrien-berchet (#460)

0.14.0
------

* Split load_spatialite into load_spatialite_driver and init_spatialite @adrien-berchet (#459)
* Remove the management parameter @adrien-berchet (#415)
* Add GeoPackage support @adrien-berchet (#456)
* CI: Use new action to setup Mamba @adrien-berchet (#455)
* Fix codespell config and typo 'prodived' -> 'provided' @djm93dev (#454)
* Fix ReadTheDocs generation @adrien-berchet (#452)
* Fix compatibility with Alembic>1.11 @adrien-berchet (#447)
* Add Py311 support @adrien-berchet (#446)
* Add an example to insert raster entries in gallery @adrien-berchet (#438)
* fix: handle mysql schemas in column reflection @EtienneDG (#443)
* Fix: Shapely remains optional requirement @adrien-berchet (#441)
* Fix CI @adrien-berchet (#439)
* Add auto extended feature and methods for WKT/WKB conversion from/to extended elements @adrien-berchet (#435)
* setup.py needs to know about subpackages @EdwardBetts (#434)
* Reorganize tests and fix nullable propagation and some other bugs @adrien-berchet (#433)
* Reorganize dialect-specific code @adrien-berchet (#432)
* Add partial MySQL support @adrien-berchet (#330)

0.13.3
------

* Fix compatibility with Alembic>1.11 @adrien-berchet (#449)

0.13.2
------

* Install Python and Pypy using Micromamba in CI @adrien-berchet (#428)
* Move SQLite functions to the relevant module @adrien-berchet (#427)
* Remove schema from the engine used in tests for SQLite dialect @adrien-berchet (#426)
* Improve monkeypatch robustness and related tests in Alembic helpers @adrien-berchet (#425)
* Fix compatibility with SQLAlchemy>=2 @adrien-berchet (#424)


0.13.1
------

* Fix: Use empty event for unsupported dialects @adrien-berchet (#418)

0.13.0
------

* Remove some irrelevant checks for Raster type @adrien-berchet (#418)
* Add precommit and format the code @adrien-berchet (#416)
* Refactor: Reorganize functions into dialect-specific functions @adrien-berchet (#414)
* Add dependabot config @adrien-berchet (#411)
* Use build package in publish job and remove useless wheel config @adrien-berchet (#407)


0.12.5
------

* Fix alembic_helpers.create_geospatial_table() use the proper schema @adrien-berchet (#404)

0.12.4
------

* Fix alembic_helpers.create_geo_table() to handle foreign keys @adrien-berchet (#398)

0.12.3
------

* Replace pkg_resources usage with packaging + importlib.metadata @jacob-indigo (#392)
* Add a test for reflection of a view with spatial columns @adrien-berchet (#391)

0.12.2
------

* Provide alembic_helpers.include_object again @adrien-berchet (#388)
* Change doc font and increase page width @adrien-berchet (#389)
* Fix doc for Alembic helpers @adrien-berchet (#386)

0.12.1
------

* Fix semicolon in index query for postgresql @adrien-berchet (#383)

0.12.0
------

* Improve documentation for functions applied to types other than Geometry @adrien-berchet (#380)
* Improve reflection mechanism and alembic interactions @adrien-berchet (#374)
* Functions returning Box types now return None types instead of Geometry types @EdwardBetts @adrien-berchet (#375)
* Improve the gallery example for TypeDecorator @adrien-berchet (#373)

0.11.1
------

* Improve doc formatting @adrien-berchet (#369)

0.11.0
------

* Add Alembic helpers for Add/Drop spatial columns with SQLite @adrien-berchet (#362)
* Add GitHub URL for PyPi @andriyor (#364)
* Add a simple API to register custom mapping for SQLite function names @adrien-berchet (#360)
* Example of specific compilation for sided buffer with SQLite dialect @adrien-berchet (#361)
* Remove metaclass as in SQLAlchemy, rework the tests and some reformatting @adrien-berchet (#357)
* Use RecoverGeometryColumn instead of AddGeometryColumn with SQLite @adrien-berchet (#354)
* Fix spatial index declaration @adrien-berchet (#344)

0.10.2
------

* Use 'load_dialect_impl()' instead of 'impl' to get the type of the TypeDecorator objects @adrien-berchet (#343)

0.10.1
------

* Fix creation of columns using a TypeDecorator @adrien-berchet (#343)

0.10.0
------

* Fix cache warnings @adrien-berchet (#338)
* Drop support for Python < 3.6 @adrien-berchet (#337)
* Change KeyError into AttributeError in the comparator_factory of CompositeType @adrien-berchet (#335)
* Add SummaryStats type for the ST_SummaryStatsAgg function @adrien-berchet (#334)

0.9.4
-----

* Fix warnings in preparation for SQLAlchemy v2.0 @robintw (#331)

0.9.3
-----

* Add support for not nullable column for SQLite @adrien-berchet (#327)

0.9.2
-----

* Add support for N-D intersects '&&&' operator @dlbrittain (#324)

0.9.1
-----

* Fix quotes in index creation @adrien-berchet (#321)

0.9.0
-----

* Add many missing functions @adrien-berchet (#298)
* Add support for N-D index creation @dlbrittain (#316)

0.8.5
-----

* Add dosctrings to remove sphinx warnings @adrien-berchet (#300)
* Update setup.py to point to new home page location @EdwardBetts (#296)
* Add an internal function registry @adrien-berchet (#293)
* Update CI and tests @adrien-berchet (#286, #287, #303, #307)
* Add doc for functions that are defined for both Geometry and Raster @adrien-berchet (#285)
* Add new examples in the gallery @adrien-berchet (#282, #283, #299)

0.8.4
-----

* Fix ST_AsGeoJSON function @adrien-berchet (#279)
* Add many missing functions @adrien-berchet (#276)

0.8.3
-----

* Use setuptools_scm to manage versions @adrien-berchet (#271)
* Fix insert/update for RasterElement @adrien-berchet (#270)

0.8.2
-----

* Fix __eq__() method in _SpatialElement so it can work with any type @adrien-berchet (#265)

0.8.1
-----

* Fix ReadTheDoc compilation @adrien-berchet

0.8.0
-----

* Fix Shapely requirements for Pypy @adrien-berchet (#262)
* Add a gallery with tests and doc based on examples given in #219, #244 and #251 @adrien-berchet (#260)
* Add support of the feature version of St_AsGeoJson() @adrien-berchet @zzzeek (#258)
* Add __eq__ to WKBElement and make shape.from_shape() able to create extended elements @adrien-berchet @matthew-emw (#247)
* Extract all SQL concepts from Elements and refactor Raster type @adrien-berchet @elemoine @zzzeek (#256)

0.7.0
-----

* Update test matrix removing Python 3.4 and adding 3.6, 3.7, 3.8 @cjmayo (#253)
* Add reflection example in doc @adrien-berchet (#252)
* Fix tests with PostGIS 3 @elemoine (#250)
* Add default compilation rules to elements and functions which are required for SQLAlchemy < 1.1 @adrien-berchet (#242)
* Raise an AttributeError when a function does not starts with ST_* @adrien-berchet @elemoine (#240)
* Replace ST_Distance_Sphere by ST_DistanceSphere @borisuvarov (#237)
* Make shape.to_shape() work for extended WKTElement objects @adrien-berchet (#236)

0.6.3
-----

* Add some missing functions @adrien-berchet (#224)
* Do not register functions.GenericFunction for sqlalchemy>=1.3.4 @adrien-berchet (#226)
* Redefine the geometry_type/dimension consistency checks @elemoine (#228)
* Correct a spelling mistake @EdwardBetts (#229)
* Do not assume the "public" schema @elemoine (#231)
* Add all geometry constructors @adrien-berchet (#232)

0.6.2
-----

* Support WKBElement objects as bind values @elemoine (#221)
* Document the use of spatial functions in primaryjoin conditions @elemoine (#222)

0.6.1
-----

* Change WKBElement to read SRID from the EWKB string @SergeBouchut (#209)
* Change WKTElement to read SRID from the EWKT string @adrien-berchet @elemoine (#211)

0.6.0
-----

* Add AsGeoJSON for SpatiaLite @TomGoBravo @elemoine (#204)
* Remove the use_st_prefix argument and use SpatiaLite-compiled functions @elemoine (#204)

0.5.0
-----

* Add support for function ST_Azimuth @simlmx (#175)
* Remove Python 3.3 from the test matrix @elemoine (#179)
* Correct spelling mistakes @EdwardBetts @elemoine (#180)
* Make WKTElement and WKBElement pickable @elemoine (#182)
* Add SpatiaLite support @elemoine (#181)
* Fix to_shape with SpatiaLite @elemoine (#185)

0.4.2
-----

* Fix ST_LineLocatePoint return type @fredj (#170)

0.4.1
-----

* Fix docstring for overlaps_or_above @dcere (#166)
* Add a WKTElement extended example @movermeyer (#164)
* Add checks to _GISType constructor @elemoine (#162)
* Support geometry column with no typmod @elemoine (#161)
* Add ST_AsTWKB function. @JacobHayes (#146)
* Create MANIFEST.in. @pmlandwher (#147)
* Fix build_sphinx maximum recursion depth. @ifedapoolarewaju (#148)
* Fix typo in elements code. @elemoine (#153)

0.4.0
-----

* Adapt links for "Read the Docs". @adamchainz (#134)
* Simplify and fix tests. @elemoine (#138)
* Set result_type when using operators. @elemoine (#140)
* Add use_typmod option for AddGeometryColumn. @tsauerwein (#141)

0.3.0
-----

* Read geometries with ST_AsEWKB. @loicgasser, @fredj, @elemoine (#122)
* Fix SpatialElement.__str__ on Python 3 @b11z, @elemoine (#130)
* Fix flake8 in tests @loicgrasser (#125)

0.2.6
-----

* Distribute GeoAlchemy as wheels (#114)

0.2.5
-----

* PyPy Support (#79)
* Wrap column name in double-quotes (#83)
* Add ST_Z, ST_AsEWKB and ST_AsEWKT functions (#91)
* Python 3 Support (#99)
* Travis config changes (#100, #102)

0.2.4
-----

* SQLAlchemy 0.9.4 compatibility. @quiqua (#75 and #76)

0.2.3
-----

* Add ST_Simplify. @nik-cars (#68)
* SQLAlchemy 0.9 compatibility. @ilj (#59)

0.2.2
-----

* Support EWKT and working with DBAPI's executemany(). Addresses issues
  reported by @pgiraud. @elemoine (#62)

0.2.1
-----

* Fix bug where AddGeometryColumn and DropGeometryColumn were not given
  the actual schema of the table @dolfandringa (#55)

0.2
---

* ST_Dump support @Turbo87 (#18)
* Use of Travis CI and coveralls.io @Turbo87
* New doc theme, new logo @Turbo87 (#23)
* PostGIS 2 Raster support @Turbo87 (#25)

0.1
---

* Initial release (PostGIS 2 support, Geometry et Geography types)
