Skip to content

Latest commit

 

History

History
193 lines (113 loc) · 6.12 KB

CHANGELOG.md

File metadata and controls

193 lines (113 loc) · 6.12 KB

Changelog

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.

[3.7.0] - 2024-05-08

New features

  • Do not raise on unsuccessful cast, with thanks to new contributor @marmor157 (#156)
  • Added support for st_make_envelope, with thanks to @mjquinlan2000 (#195)

Updates

  • ex_doc updated to v0.32.1

[3.6.0] - 2024-03-11

New feature

  • Add support for LineStringZM, with thanks to new contributor @versilov (#160)

Fixes and updates

  • Silence compile warning by updating geo from 3.5.1 to 3.6.0
  • Misc. dependency updates (ex_doc, ecto, ecto_sql, and postgrex)

[3.5.0] - 2023-09-22

New features

Bug fix

Compatibility fix

  • Update geometry.ex to force recompilation on upgrade—this should make it unnecessary to do the mix deps.clean described in the upgrade notes to v3.4.4 below. In my testing, when moving from v3.4.3 to this release, that step was unnecessary; however, beware that it may still be needed when moving from a branch where you're using v3.5.0 to one using v3.4.3 or earlier.

[3.4.4] - 2023-09-20

As of v3.4.4, geo_postgis is being maintained by the Felt team. As a company building a geospatial product on Elixir, with a track record of supporting open source software, we're excited for the future of the project.

Elixir 1.15 compatibility

This release fixes a major compatibility issue with Elixir v1.15. When compiling a project that depends on geo_postgis prior to this release, you may have seen errors like this:

== Compilation error in file lib/my_app/my_module.ex ==
** (ArgumentError) unknown type Geo.PostGIS.Geometry for field :bounding_box
    (ecto 3.10.3) lib/ecto/schema.ex:2318: Ecto.Schema.check_field_type!/4
    (ecto 3.10.3) lib/ecto/schema.ex:1931: Ecto.Schema.__field__/4
    lib/my_app/my_module.ex:23: (module)

...or:

** (UndefinedFunctionError) function Geo.PostGIS.Geometry.type/0 is undefined (module Geo.PostGIS.Geometry is not available)
    Geo.PostGIS.Geometry.type()

As new contributor @aeruder pointed out, this was due to a change in how Elixir 1.15 prunes code more precisely when compiling dependencies, resulting in the Geo.PostGIS.Geometry module being compiled out if Ecto didn't happen to get compiled before it. This release fixes the issue, but you'll still need to recompile both geo_postgis and ecto to get things working again.

Upgrade notes

If you're using Elixir 1.15, after installing v3.4.4, you'll need to run:

mix deps.clean geo_postgis ecto && mix deps.get

(Alternatively, a full clean build of your project will also do the job.)

Doing so will ensure geo_postgis compiles with the Ecto dependency and fixes the compilation errors noted above.

Note that you'll also need to run the above one-liner if you need to switch back to a previous version of geo_postgis (e.g., when moving between branches). However, if you can stick with the new version going forward, you'll only have to run it once.

Fixed

[3.4.3] - 2023-06-20

Fixed

[3.4.2] - 2022-02-23

Fixed

[3.4.1] - 2021-12-15

Enhancements

[3.4.0] - 2021-04-10

Enhancements

  • Update to Geo 3.4.0
  • Geo.PostGIS.Extension now uses the :binary format instead of :text

Changes

  • Passing latitude or longitude as string instead of floats is no longer supported and raises an argument error

[3.3.1] - 2019-12-13

Fixed

[3.3.0] - 2019-08-26

Updated

  • Geo dependency to 3.3

[3.2.0] - 2019-07-23

Add

[3.1.0] - 2019-02-11

Updated

[3.0.0] - 2018-12-01

Updated

  • Support for Ecto 3.0

[2.1.0] - 2018-08-28

Added

Fixed

[2.0.0] - 2018-04-14

Changed

  • Use Geo.PostGIS.Geometry when defining structs instead of Geo.Geometry
  #instead of
  schema "test" do
    field :name,           :string
    field :geom,           Geo.Geometry # or Geo.Point, Geo.LineString, etc
  end

  #now use
  schema "test" do
    field :name,           :string
    field :geom,           Geo.PostGIS.Geometry
  end

[1.1.0] - 2018-01-28

Added

[1.0.0] - 2017-07-15

Added

  • PostGIS extension for Postgrex