Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.10 release #1332

Closed
sgillies opened this issue Feb 29, 2024 · 19 comments
Closed

1.10 release #1332

sgillies opened this issue Feb 29, 2024 · 19 comments
Assignees
Labels
Milestone

Comments

@sgillies
Copy link
Member

As I mentioned in #1329 I would like to make a Fiona 1.10 release with support for Python virtual filesystems (done in #1331) and Numpy 2.

Target date for a 1.10a1 is 2024-03-01.

@sgillies sgillies added this to the 1.10 milestone Feb 29, 2024
@sgillies sgillies self-assigned this Feb 29, 2024
@sgillies
Copy link
Member Author

sgillies commented Mar 3, 2024

1.10a1 distributions are on PyPI now: https://pypi.org/project/fiona/1.10a1/#files.

@martinfleis
Copy link

@sgillies do you have a planned date for 1.10 release that is not a pre-release? I am trying to figure out if we need another patch release of GeoPandas before that or of GeoPandas 1.0 (tentatively end of April) will be enough.

@sgillies
Copy link
Member Author

@martinfleis I'm also thinking end of April for 1.10.0.

@sgillies
Copy link
Member Author

sgillies commented Apr 3, 2024

A largish new feature and a big refactor have landed. I'm going to begin releasing 1.0a2 today.

@sgillies
Copy link
Member Author

sgillies commented Apr 4, 2024

Small changes to CI runners since 1.10a1 have broken the builds 😂 . I'm iterating on the fix.

@sgillies
Copy link
Member Author

sgillies commented Apr 5, 2024

Whew, done with 1.10a2!

All the major new features planned for 1.10.0 are done, so let's have the next release be 1.10b1.

@sgillies
Copy link
Member Author

1.10b1 is tagged, on PyPI, and announced in some places. Should be on conda-forge soon.

@sgillies
Copy link
Member Author

sgillies commented Jul 11, 2024

1.10b2 is tagged and on PyPI. Let's have a release candidate on 2024-07-15.

@sebastic
Copy link
Contributor

sebastic commented Jul 11, 2024

test_opener_fsspec_file_fs_listdir fails during the Debian package build:

=================================== FAILURES ===================================
______________________ test_opener_fsspec_file_fs_listdir ______________________

    def test_opener_fsspec_file_fs_listdir():
        """Use fsspec file filesystem as opener for listdir()."""
        fs = fsspec.filesystem("file")
        listing = fiona.listdir("tests/data", opener=fs)
>       assert len(listing) >= 35
E       AssertionError

tests/test_pyopener.py:146: AssertionError
------------------------------ Captured log call -------------------------------
DEBUG    fiona._env:env.py:315 GDAL data files are available at built-in paths.
DEBUG    fiona._env:env.py:315 PROJ data files are available at built-in paths.
DEBUG    fiona:__init__.py:502 Registering opener: raw_dataset_path='tests/data', opener=<fsspec.implementations.local.LocalFileSystem object at 0x7f553dfdcb30>
DEBUG    fiona._vsiopener:contextlib.py:137 Installing Python opener handler plugin: prefix_bytes=b'/vsifiopener_ff31c064a95a46cc8b03443981c8783c/'
DEBUG    fiona:__init__.py:504 Registered vsi path: registered_vsi_path='/vsifiopener_ff31c064a95a46cc8b03443981c8783c/tests/data'
DEBUG    fiona._vsiopener:__init__.py:505 Looking up opener in pyopener_stat: urlpath='tests/data', registry={(PosixPath('tests'), 'ff31c064a95a46cc8b03443981c8783c'): <fiona._vsiopener._FilesystemOpener object at 0x7f553dfdf0b0>}, key=(PosixPath('tests'), 'ff31c064a95a46cc8b03443981c8783c')
DEBUG    fiona._vsiopener:__init__.py:505 Looking up opener in pyopener_read_dir: urlpath='tests/data', registry={(PosixPath('tests'), 'ff31c064a95a46cc8b03443981c8783c'): <fiona._vsiopener._FilesystemOpener object at 0x7f553dfdf0b0>}, key=(PosixPath('tests'), 'ff31c064a95a46cc8b03443981c8783c')
=========================== short test summary info ============================
FAILED tests/test_pyopener.py::test_opener_fsspec_file_fs_listdir - Assertion...
========== 1 failed, 1079 passed, 108 skipped, 1 deselected in 4.95s ===========

There are only 33 files in that directory:

$ find tests/data/ -type f | wc -l
33

This patch resolves the issue for me:

--- a/tests/test_pyopener.py
+++ b/tests/test_pyopener.py
@@ -143,7 +143,7 @@ def test_opener_fsspec_file_fs_listdir()
     """Use fsspec file filesystem as opener for listdir()."""
     fs = fsspec.filesystem("file")
     listing = fiona.listdir("tests/data", opener=fs)
-    assert len(listing) >= 35
+    assert len(listing) >= 33
     assert set(
         ["coutwildrnp.shp", "coutwildrnp.dbf", "coutwildrnp.shx", "coutwildrnp.prj"]
     ) & set(listing)

@sgillies
Copy link
Member Author

Thanks @sebastic ! I fixed this in afdd0e7.

@pjonsson
Copy link

pjonsson commented Jul 23, 2024

1.10b2 is tagged and on PyPI. Let's have a release candidate on 2024-07-15.

@sgillies I can't see the release candidate in the releases here on Github or on PyPi, has it been delayed?

Edit: or do you mean 1.10b2 from 2024-07-11 is the release candidate?

@sgillies
Copy link
Member Author

@pjonsson it's delayed. In fact, I will be making a 1.10b3 soon so that people can try the work in #1415.

@sgillies
Copy link
Member Author

1.10b3 was tagged and released yesterday. Give it a workout if you can 🙏

@sgillies
Copy link
Member Author

Hey all, the code in this project is ready for a 1.10.0rc1. However, the wheel building workflows are not ready to build wheels for Python 3.13. I've begun work on rewriting the fiona-wheels GitHub Action workflows to use a combination of multibuild (or vcpkg) and cibuildwheel. Progress is slow. Does anyone have a preference for me to wait until 3.13 wheels are unblocked before 1.10.0rc1?

@pjonsson
Copy link

I don't see any 3.13 wheels for 1.9.6, or in the 1.10b-releases, so releasing 1.10.0 without 3.13 wheels isn't making the situation worse than it already is. Considering GHSA-q5fm-55c2-v6j9 and GHSA-g4m4-9q4c-mfw6 are in 1.9.6, I think it's fair to put 3.13 wheels after 1.10.0.

@sgillies
Copy link
Member Author

sgillies commented Aug 21, 2024

Thanks for the response @pjonsson. I'm inclined to have a 1.10.0rc1 without 3.13 wheels.

About the CVEs: they're not as dire as they appear. These are the first ones I've published on GitHub and I did so before I'd made edits to the original reports. My amendments (see https://github.com/Toblerity/Fiona/security/advisories) should appear in the GitHub database at some point, I hope.

@EwoutH
Copy link
Contributor

EwoutH commented Aug 22, 2024

Since Fiona is a low-level dependency for many downstream geospatial projects, it would be beneficial to have Python 3.13 on PyPI as fast as possible, ideally in the 1.10 release.

I have some experience with wheel building, where's the exact workflow located? I can take a look at updating it.

Edit: Right, it was https://github.com/sgillies/fiona-wheels. I will take a look!

@sgillies
Copy link
Member Author

sgillies commented Sep 5, 2024

I've pushed a maint-1.10 branch. Let's call main "version 2.0".

Thanks for the help, everyone!

@sgillies sgillies closed this as completed Sep 5, 2024
@EwoutH
Copy link
Contributor

EwoutH commented Sep 5, 2024

Let's call main "version 2.0"

Exciting! Many breaking changes / overhauls planned for 2.0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants