Skip to content

Releases: Toblerity/Fiona

1.10.1

16 Sep 20:20
Compare
Choose a tag to compare

Bug fixes

  • Several typos were found and fixed (#1448). One variable was renamed and the ContextVar in _vsipyopener.pyx was renamed.
  • Logging in the CRS class no longer tries to print representations of objects that may be NULL when searching for authority matches (#1445).

1.10.0

04 Sep 03:19
Compare
Choose a tag to compare

This is 1.10.0. At last! The project has added 25 new contributors since 1.9.0, for a total of 73.

Fiona 1.10 will continue to support classic GIS programming work with a record-style data model. Rows, that is, not columns.

The changes since 1.9.6 are fully described in the changelog, split across pre-releases. Here is a high-level summary.

Deprecations

  • Python-style filter expressions for CLI commands are being replaced by Lisp-like expressions.
  • Some constants in the fiona.schema module will be removed in a future version.
  • The fiona.path module will be removed in a future version. This, and the previously mentioned constants, were not meant to be used by projects downstream.

New features

  • Python openers can connect filesystems implemented in Python, like fsspec or tiledb.vfs, to GDAL's own virtual filesystem machinery. In most cases, you should reply on GDAL's built-in virtual filesystem handlers. On the other hand, if you have unique or proprietary data access protocols, then fiona's new openers may be useful.
  • Fiona's CLI has three new commands, filter (strictly speaking, a new mode of this command), map, and reduce. These provide some great features for Unix-style data processing pipelines and are designed to work well with jq and programs of that nature.

Other changes

This version is heavily refactored. If it's not paying off for you, let us know!

PyPI wheels

The binary wheels on PyPI include GDAL 3.9.2 (3.9.1 for Windows), GEOS 3.11.2, and PROJ 9.4.1.

GDAL and Python versions

Fiona 1.10.0 requires GDAL 3.4 and Python 3.8 or newer.

1.10.0rc1

22 Aug 02:21
Compare
Choose a tag to compare
1.10.0rc1 Pre-release
Pre-release

This is the first release candidate for 1.10.0.

Changes

  • Mutable item access to Feature, Geometry, and Properties instances has been restored (reported in #1430). This usage should be avoided as instances of these classes will be immutable in a future version.
  • The setup.cfg duplicates project configuration in pyproject.toml and has been removed.

Packaging

  • PyPI wheels include GDAL 3.9.2.

Please see the CHANGES file for a more detailed enumeration of changes since version 1.10b1. Unless showstopper bugs are found in this release, expect a final 1.10.0 release in two weeks.

1.10b3

30 Jul 13:54
Compare
Choose a tag to compare
1.10b3 Pre-release
Pre-release

Bug fixes

  • The sketchy, semi-private Python opener interfaces of version 1.10b2 have been replaced by ABCs that are exported from fiona.abc (#1415). How to implement the interfaces and provide a custom opener is documented in test_pyopener.py and will be included in the documentation for version 1.10.0.
  • The truncate GDAL VSI plugin callback has been implemented (#1413).

Please see the CHANGES file for a more detailed enumeration of changes since version 1.9.6. Unless showstopper bugs are found in this release, expect a release candidate in two weeks.

1.10b2

11 Jul 02:37
Compare
Choose a tag to compare
1.10b2 Pre-release
Pre-release

This is the second beta release for Fiona 1.10. There are no new features, only bug fixes:

Bug fixes

  • The Pyopener registry and VSI plugin have been rewritten to avoid filename conflicts and to be compatible with multithreading. Now, a new plugin handler is registered for each instance of using an opener (#1408). Before GDAL 3.9.0 plugin handlers cannot not be removed and so it may be observed that the size of the Pyopener registry grows during the execution of a program.
  • A CSLConstList ctypedef has been added and is used where appropriate (#1404).
  • Fiona model objects have a informative, printable representation again (#1380).

Packaging

  • PyPI wheels include GDAL 3.9.1 and curl 8.8.0.

Please see the CHANGES file for a more detailed enumeration of changes since version 1.9.6. Unless showstopper bugs are found in this release, expect a release candidate in two weeks.

1.10b1

16 Apr 21:00
Compare
Choose a tag to compare
1.10b1 Pre-release
Pre-release

This is the first beta release for Fiona 1.10. There are no new features, only one bug fix:

  • Fiona can again set fields with values that are instances of classes derived from date, time, and datetime (#1377). This was broken by changes in 1.10a2.

Please see the CHANGES file for a more detailed enumeration of changes since version 1.9.6. Unless showstopper bugs are found in this release, expect a release candidate in two weeks.

1.10a2

05 Apr 21:44
Compare
Choose a tag to compare
1.10a2 Pre-release
Pre-release

This is the second 1.10 pre-release. The changes since 1.10a1 are enumerated below.

Deprecations

  • The FIELD_TYPES, FIELD_TYPES_MAP, and FIELD_TYPES_MAP_REV attributes of fiona.schema are no longer used by the project and will be removed in version 2.0 (#1366).
  • The Python style of rio-filter expressions introduced in version 1.0 are deprecated. Only the parenthesized list type of expression will be supported by version 2.0.

New features

  • All supported Fiona field types are now represented by classes in fiona.schema. These classes are mapped in FIELD_TYPES_MAP2 and FIELD_TYPES_MAP2_REV to OGR field type and field subtype pairs (#1366).
  • The filter, map, and reduce CLI commands from the public domain version 1.1.0 of fio-planet have been incorporated into Fiona's core set of commands (#1362). These commands are only available if pyparsing and shapely (each of these are declared in the "calc" set of extra requirements) are installed.

Bug fixes

  • Fiona's python opener VSI plugin prefix has been changed to "vsifiopener" to not conflict with Rasterio (#1368).
  • Add a 16-bit integer type "int16" based on OGR's OSFTInt16 integer sub-type (#1358).
  • Allow a GeoJSON collection's layer name to be set on opening in write mode (#1352).
  • The legacy crs.py module which was shadowed by the new crs.pyx module has been deleted (#1344).
  • Python 3.8 has been added back to the list of supported versions and a dependency on Numpy added in 1.10a1 has been removed.
  • An implementation of the VSI flush callback has been added to _vsiopener.pyx.
  • Openers are now registered only by urlpath. The mode is no longer considered as OGR drivers may use a mix of modes when creating a new dataset.

Other changes

  • Feature builder and field getter/setter instances are reused when reading and writing features (#1366).

Packaging

Aftermath of the "xz hackdoor" incident (see #1367) is preventing us from building Windows wheels for this release. You may expect them for the first 1.10 release candidate, if not sooner, and for the final 1.10.0 release.

Future 1.10 pre-releases will be announced at #1332.

1.9.6

08 Mar 16:14
Compare
Choose a tag to compare

This is very likely the last 1.9.x release and fixes several bugs that can't wait until 1.10.0.

Bug fixes

  • Ensure that geometry types in a schema are translated to a linear type, as geometry instances are (#1313).
  • Fix broken stable API documentation on Read The Docs.
  • Remove install requirement of setuptools, a regression introduced in 1.9.5.

1.10a1

03 Mar 22:58
Compare
Choose a tag to compare
1.10a1 Pre-release
Pre-release

This is the first 1.10 pre-release.

Python version

Fiona 1.10 will require Python version 3.8 or higher.

Deprecations

The fiona.path module will be removed in version 2.0 and a deprecation warning is issued when the module is imported (#1334). Additionally, members of that module are no longer exported from the top level module.

New features

Python openers can now support discovery of auxiliary "sidecar" files like .aux.xml, .msk, and .tfw files for GeoTIFFs (#1331). Additionally, filesystem objects, such as those from fsspec and tiledb, can be used as openers. This will become the recommended usage, supplanting the use of single file openers.

Bug fixes

  • Use of pkg_resources in test_rio_info.py has been eliminated.
  • gzip, tar, and zip archive URIs containing drive letters were not always parsed properly on Windows, but are now (#1334).

Packaging

  • PyPI wheels include GDAL 3.8.4, PROJ 9.3.1, and GEOS 3.11.2.

Future 1.10 pre-releases will be announced at #1332.

1.9.5

12 Oct 19:29
Compare
Choose a tag to compare

Bug fixes

  • Expand keys in schema mismatch exception, resolving #1278.
  • Preserve the null properties and geometry of a Feature when serializing (#1276).

Packaging

  • The distribution name is now officially "fiona", not "Fiona". The import name remains fiona.
  • Builds now require Cython >= 3.0.2 (#1276).
  • PyPI wheels include GDAL 3.6.4, PROJ 9.0.1, and GEOS 3.11.2.
  • PyPI wheels include curl 8.4.0, addressing CVE-2023-38545 and CVE-38546.
  • PyPI wheels are now available for Python 3.12.