commit f33f6c2db927124fbaee3331314f22fb34744167
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sat Aug 22 19:37:27 2026 +0300
d/control: Update abseil dep to version >= 20260526
commit 2cff3f372b7dc86f6c0d4c95396d381a0c904745
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sat Aug 22 18:55:31 2026 +0300
d/libs2-dev.install: Do not try to install non-existent *.a files
commit c6229bad6455dcdd0c9156d39c8c09ae5896d1d5
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sat Aug 22 18:44:29 2026 +0300
d/rules: Remove unused GOOGLETEST_ROOT definition
commit e6d8ecf813ed1ff83f97aeb167854a310d0aca3b
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sat Aug 22 18:42:51 2026 +0300
d/rules: Disable tests
commit 73b16d57f98b34a95ff29529fa3689b654691a3c
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sat Aug 22 17:31:43 2026 +0300
Refresh patches
commit 80901fb09515fc525dc75334c1e951c07d12242c
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sat Aug 22 17:07:06 2026 +0300
New upstream version from git snapshot
commit 82743d40dab87990f5f634eae32ccdd767068c48
Merge: 334b41b 079611b
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sat Aug 22 16:51:46 2026 +0300
Merge tag 'upstream/0.14.0+git.079611b' into debian/latest
commit 079611b654ad89afd9c3c3a1796d64bdd6a6b340
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue Aug 18 13:09:07 2026 +0200
build(deps): bump rules_python from 2.2.0 to 2.3.1 in /src (#667)
Bumps [rules_python](https://github.com/bazel-contrib/rules_python) from 2.2.0 to 2.3.1.
- [Release notes](https://github.com/bazel-contrib/rules_python/releases)
- [Changelog](https://github.com/bazel-contrib/rules_python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bazel-contrib/rules_python/compare/2.2.0...2.3.1)
---
updated-dependencies:
- dependency-name: rules_python
dependency-version: 2.3.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 2dd13af2d18f585b6beb2debaa90aa9003bf32e7
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Fri Aug 7 05:40:12 2026 -0700
pybind: Add S2CellId iteration (children, cells, ranges) (#640)
Add S2CellId.children() and S2CellId.cells() returning S2CellIdRange,
a Pythonic sequence over cells at a common Hilbert-curve level with
__len__, __getitem__ (int + slice), __contains__, __iter__, and
__reversed__.
Design notes from PR #593 review:
- __len__ narrows int64 count to Py_ssize_t and raises OverflowError
when the range exceeds Py_ssize_t::max (can happen on 32-bit Python
for ranges above cells(15)). Users needing the full count on such
platforms should use S2CellIdRange.size().
- __getitem__ supports integer indexing and slicing. Slices with
step != 1 raise ValueError since they cannot be represented as a
contiguous range; reversed() covers the step=-1 case.
- S2CellIdForwardIter / S2CellIdReverseIter are marked module_local,
since they are implementation details of the iteration protocol and
should not collide across pybind modules.
commit 97d76747276147afb716b1c03863ae2b3e50ed65
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Thu Jul 16 13:20:01 2026 -0700
pybind: Add S2Cap bindings (#646)
Binds S2Cap to Python, including constructors, static factories
(from_point, from_center_height, from_center_area, empty, full),
properties (center, radius, height), predicates (is_valid, is_empty,
is_full), geometric ops (complement, expanded, union), containment and
intersection methods, mutation (add_point, add_cap), and the S2Region
interface (get_cap_bound, cell_union_bound).
Also resolves the TODO in s2cell_bindings.cc by wiring up
S2Cell.get_cap_bound() now that S2Cap is bound before S2Cell in the
module initialization order.
get_rect_bound() on both S2Cap and S2Cell remains deferred pending
S2LatLngRect bindings.
commit b7f6cb8f48cc21d82c2cfdebf7e49f6cdbd92f67
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu Jul 16 22:18:18 2026 +0200
build(deps): bump rules_python from 2.1.0 to 2.2.0 in /src (#652)
Bumps [rules_python](https://github.com/bazel-contrib/rules_python) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/bazel-contrib/rules_python/releases)
- [Changelog](https://github.com/bazel-contrib/rules_python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bazel-contrib/rules_python/compare/2.1.0...2.2.0)
---
updated-dependencies:
- dependency-name: rules_python
dependency-version: 2.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit e1cc10fb25c954785c24267e6f1dc39d5ce535d6
Author: Daeho Ro <40587651+daeho-ro@users.noreply.github.com>
Date: Thu Jul 16 22:31:51 2026 +0900
Bump required Abseil to 20260526.0 (#653)
Abseil LTS 20260526 moved the ThrowStd* helpers from
absl/base/internal/throw_delegate.h (namespace absl::base_internal) to
absl/base/throw_delegate.h (namespace absl). Update compact_array.h to
use the new header and public namespace.
Fixes #645.
commit 4b624b27714e462cceca71a1670816c7f0059fa9
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Jul 10 08:08:03 2026 +0200
build(deps): bump actions/checkout from 6.0.2 to 7.0.0 (#641)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 0532a59dd8758409829aebc98faa2606ac754e09
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Jul 10 08:07:37 2026 +0200
build(deps): bump boringssl from 0.20260327.0 to 0.20260616.0 in /src (#642)
Bumps [boringssl](https://github.com/google/boringssl) from 0.20260327.0 to 0.20260616.0.
- [Release notes](https://github.com/google/boringssl/releases)
- [Commits](https://github.com/google/boringssl/compare/0.20260327.0...0.20260616.0)
---
updated-dependencies:
- dependency-name: boringssl
dependency-version: 0.20260616.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit d8d5acf43cdaef6d1bf25adad104c35e61fedc68
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Jul 10 06:58:54 2026 +0200
build(deps): bump rules_cc from 0.2.18 to 0.2.22 in /src (#643)
Bumps [rules_cc](https://github.com/bazelbuild/rules_cc) from 0.2.18 to 0.2.22.
- [Release notes](https://github.com/bazelbuild/rules_cc/releases)
- [Commits](https://github.com/bazelbuild/rules_cc/compare/0.2.18...0.2.22)
---
updated-dependencies:
- dependency-name: rules_cc
dependency-version: 0.2.20
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit dfb1170f17343151c00e9989931e7e37350289e0
Author: Zach Burnett <zburnett@stsci.edu>
Date: Fri Jul 10 00:58:23 2026 -0400
pyproject.toml: Add readme field (#647)
The PyPI package page currently shows an empty description because
pyproject.toml doesn't declare a `readme` key.
https://pypi.org/project/s2geometry/#description
Adding it tells setuptools to include `README.md` in the package metadata, so
PyPI renders it as the project description.
commit f2d41a037fc0ed4ec93ab4c012d16d498d3ac51a
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Jul 10 06:54:57 2026 +0200
build(deps): bump rules_python from 2.0.2 to 2.1.0 in /src (#649)
Bumps [rules_python](https://github.com/bazel-contrib/rules_python) from 2.0.2 to 2.1.0.
- [Release notes](https://github.com/bazel-contrib/rules_python/releases)
- [Changelog](https://github.com/bazel-contrib/rules_python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bazel-contrib/rules_python/compare/2.0.2...2.1.0)
---
updated-dependencies:
- dependency-name: rules_python
dependency-version: 2.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit f919e66f208f8b7a572943edd6dd10b37261a677
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri Jul 10 06:53:58 2026 +0200
build(deps): bump actions/attest-build-provenance from 3.2.0 to 4.1.1 (#648)
Bumps [actions/attest-build-provenance](https://github.com/actions/attest-build-provenance) from 3.2.0 to 4.1.1.
- [Release notes](https://github.com/actions/attest-build-provenance/releases)
- [Changelog](https://github.com/actions/attest-build-provenance/blob/main/RELEASE.md)
- [Commits](https://github.com/actions/attest-build-provenance/compare/96278af6caaf10aea03fd8d33a09a777ca52d62f...0f67c3f4856b2e3261c31976d6725780e5e4c373)
---
updated-dependencies:
- dependency-name: actions/attest-build-provenance
dependency-version: 4.1.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 3f5bd2d93feda62a5d6fd0c3d7992f427968a66b
Author: Jesse Rosenstock <jmr@google.com>
Date: Fri Jun 26 10:13:16 2026 +0200
workflows: Apply zizmor auto fixes (#644)
* Do not persist credentials for checkout
* Use $NUM_CORES instead of ${{ env.NUM_CORES }} etc
commit 6763160dbd71828b5afeffbef3e1c2ac3cafc88d
Author: h-vetinari <h.vetinari@gmx.com>
Date: Sat Jun 20 04:55:21 2026 +1100
Fix MSVC build (#637)
While working on https://github.com/conda-forge/s2geometry-feedstock/pull/35, I ran into three separate issues with MSVC which are all fixed here.
### Problem 1: constexpr
```
%SRC_DIR%\src\s2\util\math\exactfloat\bignum.cc(96): error C3493: 'kMaxChunkDigits' cannot be implicitly captured because no default capture mode has been specified
```
fixed by making `kMaxChunkDigits` be of `static` storage duration
### Problem 2: namespace confusion between C(++) stdlib vs. ExactFloat implementations
```
│ │ FAILED: [code=2] CMakeFiles/s2.dir/src/s2/util/math/exactfloat/exactfloat.cc.obj
│ │ C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DABSL_CONSUME_DLL -DABSL_MIN_LOG_LEVEL=1 -DNOMINMAX -DS2GEOMETRY_BUILDING_S2GEOMETRY -D_USE_MATH_DEFINES -Ds2_EXPORTS -I%SRC_DIR%\src -external:I%PREFIX%\Library\include -external:W0 /DWIN32 /D_WINDOWS /GR /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD -J /showIncludes /FoCMakeFiles\s2.dir\src\s2\util\math\exactfloat\exactfloat.cc.obj /FdCMakeFiles\s2.dir\ /FS -c %SRC_DIR%\src\s2\util\math\exactfloat\exactfloat.cc
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\exactfloat.cc(59): error C2440: 'initializing': cannot convert from 'exactfloat::ExactFloat' to 'double'
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\exactfloat.cc(59): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\exactfloat.cc(60): error C2440: 'static_cast': cannot convert from 'exactfloat::ExactFloat' to 'uint64_t'
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\exactfloat.cc(60): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\exactfloat.cc(149): error C2440: 'return': cannot convert from 'exactfloat::ExactFloat' to 'double'
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\exactfloat.cc(149): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
```
Fixed by qualifying the respective calls with `std::` (since `<cmath>` is already included)
### Problem 3: `std::from_chars` for integers takes pointers, not iterators
```
│ │ FAILED: [code=2] CMakeFiles/s2.dir/src/s2/util/math/exactfloat/bignum.cc.obj
│ │ C:\PROGRA~1\MICROS~2\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe /nologo /TP -DABSL_CONSUME_DLL -DABSL_MIN_LOG_LEVEL=1 -DNOMINMAX -DS2GEOMETRY_BUILDING_S2GEOMETRY -D_USE_MATH_DEFINES -Ds2_EXPORTS -I%SRC_DIR%\src -external:I%PREFIX%\Library\include -external:W0 /DWIN32 /D_WINDOWS /GR /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD -J /showIncludes /FoCMakeFiles\s2.dir\src\s2\util\math\exactfloat\bignum.cc.obj /FdCMakeFiles\s2.dir\ /FS -c %SRC_DIR%\src\s2\util\math\exactfloat\bignum.cc
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\bignum.cc(124): error C2665: 'std::from_chars': no overloaded function could convert all the argument types
│ │ C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\include\charconv(1960): note: could be 'std::from_chars_result std::from_chars(const char *const ,const char *const ,long double &,const std::chars_format) noexcept'
│ │ %SRC_DIR%\src\s2\util\math\exactfloat\bignum.cc(124): note: 'std::from_chars_result std::from_chars(const char *const ,const char *const ,long double &,const std::chars_format) noexcept': cannot convert argument 1 from 'std::_String_view_iterator<_Traits>' to 'const char *const '
│ │ with
│ │ [
│ │ _Traits=std::char_traits<char>
│ │ ]
```
Fixed by using pointers.
commit f99d34157dae5df2187e59320033950ecde2e8ac
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue Jun 16 14:28:25 2026 +0200
build(deps): bump pypa/cibuildwheel from 3.4.1 to 4.1.0 (#639)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.4.1 to 4.1.0.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/8d2b08b68458a16aeb24b64e68a09ab1c8e82084...294735312765b09d24a2fbec22660ce817587d55)
---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
dependency-version: 4.1.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 2c5771cecc95f92fc728f1d897edda2d471f2516
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Tue Jun 9 12:20:44 2026 -0700
pybind: Add S2Cell bindings (#631)
Binds S2Cell's constructors, factory methods, geometric accessors
(vertex, edge, center, area), boundary helpers, containment and
intersection predicates, and subdivide.
Distance methods and the S2Cap/S2LatLngRect-returning region methods
are deferred with a TODO; they depend on S1ChordAngle/S2Cap/S2LatLngRect
bindings which are not yet in place.
commit 8d5c2a874b7f5a7db38cc330326bda24c82ac970
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Mon Jun 1 02:17:02 2026 -0700
pybind: Drop get_ prefix from S2CellId and S2LatLng method names (#632)
Rename all Python methods whose C++ counterparts begin with Get:
s2cell_id: size_ij, size_ij_for_level, size_st, size_st_for_level,
center_st, bound_st, center_uv, bound_uv, common_ancestor_level,
edge_neighbors, vertex_neighbors, all_neighbors.
s2latlng: distance.
commit 282b35ba495a7ba762802ad8367abb8988cd0db8
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Thu May 28 23:22:23 2026 -0700
pybind: Add __hash__ to all binding types (#627)
In Python 3, defining __eq__ without __hash__ sets __hash__ = None,
making the type unhashable. All seven affected types raised:
TypeError: unhashable type: 's2geometry_bindings.S1Angle'
Add __hash__ to S1Angle, S1Interval, R1Interval, R2Point, R2Rect,
S2LatLng, and S2Point using absl::HashOf on their underlying values.
Add AbslHashValue where needed.
commit ba0521ec96877bd4f8d1624d833c19a29722850f
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue May 26 14:03:02 2026 +0200
build(deps): bump rules_python from 2.0.0 to 2.0.2 in /src (#630)
Bumps [rules_python](https://github.com/bazel-contrib/rules_python) from 2.0.0 to 2.0.2.
- [Release notes](https://github.com/bazel-contrib/rules_python/releases)
- [Changelog](https://github.com/bazel-contrib/rules_python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bazel-contrib/rules_python/compare/2.0.0...2.0.2)
---
updated-dependencies:
- dependency-name: rules_python
dependency-version: 2.0.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit 9864ff7229ed249fbb875e79bc1cd95555867dc8
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Fri May 22 12:24:20 2026 -0700
pybind: Validate pos and add constants for S2CellId (#625)
- Add S2CellId::kMaxPosition constant (2^61 - 1) to s2cell_id.h and
add C++ unit test verifying valid/overflow behavior
- Validate pos argument in from_face_pos_level; expose MAX_POSITION
as a Python class attribute; add Python test for pos out of range
- Switch constants to cls.attr() pattern; update README to document
this style
- Fix BUILD: add @abseil-cpp//absl/strings dep to s2cell_id_bindings
commit 364a28834276ef7c535801fa9b4c961eaa5985fd
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Fri May 22 12:20:27 2026 -0700
pybind: Remove in-place mutation operators from hashable types (#629)
In-place operators (__iadd__, __isub__, __imul__, __itruediv__) mutate
the object, which corrupts dict/set entries if the object is used as a
key. Without them, +=, -=, *=, /= fall back to the non-mutating
binary operators + rebinding, so the syntax still works.
Affects S1Angle, R2Point, and S2Point. Rename the corresponding tests
to test_add_assign / test_sub_assign / test_mul_assign / test_div_assign
to reflect the fallback semantics.
commit b441c8984caadbe3dfc61462e7db0273ef1c4520
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Thu May 21 01:16:07 2026 -0700
pybind: Add S1ChordAngle bindings (#626)
commit 5365d41db6e5d75a0343d37d90b62b6ef6f2d059
Author: Jesse Rosenstock <jmr@google.com>
Date: Tue May 12 10:15:28 2026 +0200
workflows: Add keep-sorted check (#622)
Install keep-sorted v0.8.0 and run it in lint mode on all tracked
files, matching the existing buildifier pattern.
Also fix the one existing keep-sorted violation in module.cc.
commit e34a5bf6bf30c5d4958b61a2d880bda9913d8f04
Author: Jesse Rosenstock <jmr@google.com>
Date: Tue May 12 10:14:32 2026 +0200
S2ClosestEdgeQuery: Add missing flaky test (#621)
commit d41f211a97451a9c2309311076b2bc0b6fdcedca
Author: David Eustis <11576027+deustis@users.noreply.github.com>
Date: Tue May 12 00:49:07 2026 -0700
pybind: Add S2CellId bindings (#593)
Omit cell traversal for now.
commit ac431f6a8438a622637fd53d58e8f782a9ee1bcd
Author: Jesse Rosenstock <jmr@google.com>
Date: Mon May 11 12:54:55 2026 +0200
workflows: Add macOS Bazel CI (#618)
CMake already runs on many platforms including macOS, but Bazel only ran
on ubuntu-latest. Add macos-latest to catch macOS-specific Bazel build
issues.
commit 1e25efa509246ec66ec50406e4864b7f438af89b
Author: Jesse Rosenstock <jmr@google.com>
Date: Mon May 11 11:57:50 2026 +0200
Add missing flaky tests and fix AllowedShapeTests pattern (#617)
Add 6 flaky tests from open GitHub issues:
- IntLatLngSnapFunction.SnapPoint (https://github.com/google/s2geometry/issues/596)
- S2Cell.GetDistanceToEdge (https://github.com/google/s2geometry/issues/505)
- S2CellId.MaximumTile (https://github.com/google/s2geometry/issues/516)
- S2LatLngRect.GetCentroid (https://github.com/google/s2geometry/issues/523)
- S2PaddedCell.ShrinkToFit (https://github.com/google/s2geometry/issues/598)
- SignTest.StressTest (https://github.com/google/s2geometry/issues/612)
Fix the AllowedShapeTests pattern to match the actual
INSTANTIATE_TEST_SUITE_P values (-1, 0) instead of [0-9]+,
which didn't match -1. Also add ConservativeCellDistanceIsUsed.
Sort all entries.
Mark all cc_test targets with known flaky tests as flaky = True
in src/BUILD.bazel, with links to the corresponding GitHub issues.
commit 4bec77fb32bdf6aa390c83681d0e2bb8631a60ba
Author: Abhinav Gautam <abgautam1017@gmail.com>
Date: Mon May 11 13:50:04 2026 +0530
workflows: Retry flaky tests 3 times in ctest (#608)
Fixes https://github.com/google/s2geometry/issues/521
commit 707ea1c6ae63918550a49037b6f7f1f8d43b28dd
Author: Abhinav Gautam <abgautam1017@gmail.com>
Date: Mon May 11 13:40:55 2026 +0530
workflows: add buildifier lint workflow (#607)
Download and run `buildifier -mode=check`.
First step towards fixing https://github.com/google/s2geometry/issues/549.
commit f3eb066eb595e99d7a0b959b7e7cf078b5cd5af7
Author: Jesse Rosenstock <jmr@google.com>
Date: Mon May 11 10:02:40 2026 +0200
workflows: Hardcode ARM toolchain SHA256 (#616)
The .sha256asc file was downloaded from the same server as the tarball,
so it provided no additional integrity guarantee.
commit efbb030daabd1c23370f71fb7706818279dfd9ba
Author: Jesse Rosenstock <jmr@google.com>
Date: Mon May 11 09:31:45 2026 +0200
BUILD.bazel: Run buildifier (#615)
commit 1527cfdec3598b3e9c907e296ea34ea5f9774380
Author: Jesse Rosenstock <jmr@google.com>
Date: Mon May 11 09:28:45 2026 +0200
Python: format (#614)
Format with a pyink wrapper that Google uses internally.
https://github.com/google/pyink
commit 103689e6cda27606dd1b32b15448b9bbf9a0545b
Author: Jesse Rosenstock <jmr@google.com>
Date: Mon May 11 08:56:28 2026 +0200
Python: Make docstrings conform to style guide (#611)
https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings
commit 1a58cb4e484ec6dd3c7ce24aff112243f1c030d3
Author: Abhinav Gautam <abgautam1017@gmail.com>
Date: Mon May 11 12:25:32 2026 +0530
S2PointArray: replace alignof(expression) with alignof(S2Point) (#609)
alignof(expression) is a GNU extension.
Fixes https://github.com/google/s2geometry/issues/539.
commit ed16c2d2d8aef2f62cbb06a5fc0734862bafdda9
Author: Jesse Rosenstock <jmr@google.com>
Date: Fri May 8 09:05:13 2026 +0200
python/README.md: Use lazy numbering for ordered list (#606)
Use 1. for all items in the binding organization list to avoid
rippling diffs when items are added or reordered.
https://google.github.io/styleguide/docguide/style.html#use-lazy-numbering-for-long-lists
commit f23b44b1d970b138591a2cea5909a4614f5774c0
Author: Jesse Rosenstock <jmr@google.com>
Date: Fri May 8 09:02:32 2026 +0200
pyproject.toml: Use SPDX license expression (#605)
Replace the deprecated [project.license] table and license classifier
with the modern SPDX format.
Fixes SetuptoolsDeprecationWarning about `project.license` as a TOML
table and deprecated license classifiers.
https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license
commit 316377a682b9feaddd451b2bbeb2aa95869f9fd9
Author: Jesse Rosenstock <jmr@google.com>
Date: Fri May 8 09:02:00 2026 +0200
python: Fix/suppress CMake/SWIG warnings (#604)
Replace deprecated swig_link_libraries() with target_link_libraries()
(CMake 4.3 deprecation, works in all supported CMake versions).
Add targeted %ignore directives for operator= on Encoder,
S2BooleanOperation, and S2BufferOperation to silence SWIG Warning 362.
These operators can't be wrapped in Python and are already covered by
%ignoreall, but the warning fires at parse time regardless.
Add %warnfilter(325) for S2BufferOperation to silence the nested class
warning for Options, which already has a workaround wrapper
(S2BufferOperationOptions).
commit a0355f303b99414a62920bd5646139efe93362c5
Author: Jesse Rosenstock <jmr@google.com>
Date: Fri May 8 08:46:38 2026 +0200
workflows: Add AArch64 big-endian build/tests (#602)
Cross-compile for aarch64_be using the Arm GNU Toolchain on the
ubuntu-24.04-arm runner and run tests under qemu-aarch64_be user-mode
emulation. Since aarch64 LE and BE share the same ISA, QEMU only needs
to handle byte swapping, so test execution is fast.
Add a SKIP_OPENSSL_TESTS CMake option (default OFF) to allow building
tests without OpenSSL. Currently only bignum_test requires it. The
big-endian CI job uses this to avoid cross-compiling OpenSSL.
Fixes https://github.com/google/s2geometry/issues/471.
commit 1e3af7883337488fec7bdba02e4e3c1fdbe923a3
Author: Jesse Rosenstock <jmr@google.com>
Date: Thu May 7 21:23:45 2026 +0200
workflows: Use -O1 to speed up tests (#603)
The default build (no CMAKE_BUILD_TYPE / bazel fastbuild) uses -O0,
making tests slower than necessary. Add a "Dev" build type for CMake
and a "dev" config for Bazel that use -O1, and enable them in the CI
workflow.
Speeds up tests 5x-10x. Now tests take ~30 seconds.
Reduce workflow timeouts.
commit 86ff3e2f8bcec240b2f6b87cffb4b0af25804365
Author: Jesse Rosenstock <jmr@google.com>
Date: Tue May 5 11:58:52 2026 +0200
CMakeLists.txt: Add -Wno-nullability-completeness (#601)
Prevent warning spam from clang. We know our annotations are
incomplete.
GCC will ignore -Wno- for unknown warnings.
commit b3479f6adb713db7af607a3d23b65a9e48efbebf
Author: Jesse Rosenstock <jmr@google.com>
Date: Tue May 5 11:17:55 2026 +0200
workflow: Add Ubuntu AArch64 runners (#600)
Add ubuntu-22.04-arm and ubuntu-24.04-arm to the cmake build matrix for
AArch64 Linux coverage. These are free standard runners.
commit 37f74c424b81bd73a48fd1429323e7716671e03a
Author: Jesse Rosenstock <jmr@google.com>
Date: Tue May 5 10:24:18 2026 +0200
workflow: Use free standard macOS runners (#599)
Replace paid larger runners (-large/-xlarge) with all available free
standard macOS runners. The larger runners are billed even for public
repos.
Covers all available version/architecture combinations:
- AArch64: macos-14, macos-15, macos-26
- x86-64: macos-15-intel, macos-26-intel
There is no free macos-14-intel runner. The AArch64 runners have 3 M1
cores / 7 GB RAM (vs 12 cores on xlarge) and the x86-64 runners have
4 cores / 14 GB RAM.
Stop using large/xlarge Python runners, but don't use full set yet,
until we can verify it works for PyPI upload.
commit 4d686b3f98995fa9d1d5d649b6fa4ae430516fff
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date: Tue May 5 10:16:31 2026 +0200
build(deps): bump platforms from 1.0.0 to 1.1.0 in /src (#595)
Bumps [platforms](https://github.com/bazelbuild/platforms) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/bazelbuild/platforms/releases)
- [Commits](https://github.com/bazelbuild/platforms/compare/1.0.0...1.1.0)
---
updated-dependencies:
- dependency-name: platforms
dependency-version: 1.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
commit e5ed07cdfcccdf1402e6c60eb0f4c2473aaf38a0
Author: Jesse Rosenstock <jmr@google.com>
Date: Tue May 5 09:21:26 2026 +0200
workflow: Fix setup-bazel caching config (#597)
Replace `workspace-root` (not a valid input, was being ignored with a
warning) with `module-root` so setup-bazel correctly finds MODULE.bazel
and BUILD files under src/ for cache key hashing.
https://github.com/bazel-contrib/setup-bazel#module-root
commit 334b41b820e85ecb2b592bc1521a8f2e4d70bf39
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Mon Jul 22 15:09:29 2024 +0300
d/control,rules: Disable python binding, use cmake+ninja parallel build
commit c23c0c730e151886b7f84194277d85b03bc19a83
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Mon Jul 22 15:23:08 2024 +0300
d/patches: Rebase, add cmake patches
commit 6afd2985f3758726404929da0064d8730236cb06
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sun Jul 21 20:20:21 2024 +0300
d/libs2-dev.install: Install libs2testing.a
commit bbd8bb621500209123ddc3bcafbc3e45079f95d4
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Mon Jul 22 15:08:58 2024 +0300
d/libs2-dev.install: Install *.cmake files from under libdir
commit 83e86230b55340dd501a29e9d62e67264bd03599
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sun Jul 21 23:04:00 2024 +0300
d/control: Depend on abseil >= 20240116
commit 6752a1e581757c17e66e832e3c13f64dd58cabb1
Author: Teemu Ikonen <tpikonen@mailbox.org>
Date: Sun Jul 21 22:49:30 2024 +0300
d/control: Reformat Build-Depends and Depends
commit 3e8f25523837f483f5778c5d1634867f63594141
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Sun Mar 10 10:12:24 2024 +0100
d/control|rules: Add googletest dependency
In order to run tests, we require the GOOGLETEST package and definition.
commit 610d0548d3933eef03df96948c5a23c45fa001ba
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Sun Mar 10 09:43:28 2024 +0100
Rebase patches
commit 1a6497472fefa9c571187df0a35c11843b721d56
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Sat Mar 9 11:49:42 2024 +0100
New upstream release
commit 99b69deabb2da685a731bc68ae03a23354d6fd7a
Merge: 617c814 ff49c0a
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Sat Mar 9 11:49:41 2024 +0100
Update upstream source from tag 'upstream/0.11.1'
Update to upstream version '0.11.1'
with Debian dir cdbf0b4acfdfc0a9c2c07c8ced1942d3b6016329
commit 617c8143f9546a4b23f78593efed0d0618e66572
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Mon Nov 21 08:50:26 2022 +0100
Update changelog for 0.10.0-6 release
commit b523ca2580aea9e76aa7ab1468a96d32a308b28e
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Mon Nov 21 08:31:44 2022 +0100
Really fix ppc64el patch
commit b3478ea641876d67e20e1b402fb0e32d992e2e04
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Sun Nov 20 22:52:38 2022 +0100
Update changelog for 0.10.0-5 release
commit aa7dd36e9b35301050f1f487ae3214526a5d98ad
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Sun Nov 20 22:39:37 2022 +0100
Fix build on ppb64el
commit 018af52b5f13d242d3fd6f94036e90a2438eed73
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Sun Nov 20 16:43:46 2022 +0100
Update changelog for 0.10.0-4 release
commit db1d673c8ccfbd57f1015e8a569a2a87cd2b5c2e
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Sun Nov 20 16:41:45 2022 +0100
Apply Multi-Arch hints from the MA hinter
commit f7bf54931eb0f5f8a36f17cbb990252cbe04d750
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Fri Nov 18 11:23:45 2022 +0100
d/changelog: append changes
commit 8fc0780c10a997d88e1acd8c6e7acfbde7e42c2e
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Fri Nov 18 11:21:03 2022 +0100
d/patches: Apply patch only on powerpc arches
This is a issue of https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107745
commit d085c31c525740e02f55fd81b02b5e8423af94ab
Merge: e0deab3 102b9d7
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Fri Nov 18 09:31:51 2022 +0100
Merge branch 'debian/latest' of salsa.debian.org:DebianOnMobile-team/s2geometry into debian/latest
commit e0deab35efdafa605d426a472215695b2e4493a2
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Fri Nov 18 09:29:30 2022 +0100
s/changelog: Silence build warning
commit 7f2d08e78f29385a706049b0278ba2bda2603a10
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Fri Nov 18 09:25:56 2022 +0100
d/patches: Fix nonvoid can return void build warning
commit 102b9d732979890f6c0e131da2ea00353f1a49c5
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Tue Nov 15 11:36:44 2022 +0100
Update changelog for 0.10.0-3 release
commit ef1be8eddac3635dc24be2f44b47dcef61763e1b
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Tue Nov 15 11:34:25 2022 +0100
Add MA hint from the MA hinter
commit 012c5fe6303b7ecc44a679d2374c5a7a0ccbd008
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Tue Nov 15 11:00:35 2022 +0100
Fix compilation for multiple Python versions
Closes: #1023961
commit a6cf3e6b903c7830d3944da7a1ade93b18fb188f
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Tue Nov 15 11:25:18 2022 +0100
Fix build on ppc64el
commit 20beb998344da94888f87fd3d64c0b26f58dc716
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Tue Nov 15 10:23:18 2022 +0100
d/patches: Fix trailing newline
There was no trailing newline indeed.
Path 0002 exists also upstream as
https://github.com/google/s2geometry/commit/7a40135059545396237a0199c558d749fe3be0b1
so ours can be removed after the next release.
commit c4c56fdf0570a5908ffa4876549a07d2340b170e
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Tue Nov 15 09:58:04 2022 +0100
d/Changelog: Add changelog entry
commit 07a9a609a990b6fb6d7691ea0f8a4f5ad47535ba
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Tue Nov 15 09:52:07 2022 +0100
Fix FTBS for s390x
Fix #ifdef construct
It fixes one aspect of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023961
commit 480146755f8f4be884e6fac45b7f95eb70610ff1
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 19:08:02 2022 +0200
d/control: -dev package requires libssl-dev
the -dev packages include openssl/bt.h which is part of libssl-dev
commit c41defa6426b2014e00cabcdef506c979f1b41fa
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 18:58:15 2022 +0200
libs2-dev depends upon libabsl-dev (>= 0~20220623)
Release -3, because libs2 headers include libabsl headers and
they are useless and broken without libabsl.
commit c8dddf278b224cc2f562ddd668f89332b29b36b6
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 13:54:27 2022 +0200
d/control: Fix typo in Maintainer name
commit 19eb04959445c1cd08d78c4c7607ab312b49d2dc
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Thu Oct 27 12:28:31 2022 +0200
Release package
commit 846b83ee7bb1a7a8060549ee25019e49af467d4d
Author: Jochen Sprickerhof <jspricke@debian.org>
Date: Thu Oct 27 12:32:46 2022 +0200
Fix capitalization
commit 68c55115153fb9a2d38937c7a6e533d90cde1c7b
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 12:21:31 2022 +0200
Revert "d/patches: Modify d/patches/0001* to also use correct python lib"
After all, we do not need a custom PythonLib for pybuild in this package.
This reverts commit 00a3ead1577c2208782331c13cdc7afcbd9c785d.
commit 320ef9174bbfe9c8adc36bc1e15f41dbb247a6bd
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 12:20:34 2022 +0200
salsa-CI: remove custom file
crossbuild with ARM64 is allowed to fail, so we don't need a custom CI file
commit ff7e366d0b5a6ca168bd01feed5594df2625cf9e
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 12:17:05 2022 +0200
d/control: Add description of Packages
commit e476bbcaecc891262627a0707942a71491e4d7ca
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 12:11:01 2022 +0200
d/changelog: bump debian version 0.10.0-2
commit c6f1431e2f867523c8bd3e42964c254602ae84f5
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 11:55:53 2022 +0200
d: examples: do not use nested /doc/examples/examples
/doc/examples is enough...
commit 64367a596ea6db3f31ff49e8c09bfd60be7e8012
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 11:36:24 2022 +0200
Also install the doc/examples/* files
Install them as part of the -dev package
commit 00a3ead1577c2208782331c13cdc7afcbd9c785d
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 11:25:57 2022 +0200
d/patches: Modify d/patches/0001* to also use correct python lib
PythonLib is also required in the version demanded by pybuild
commit a95a580492865773223a0e50a92069352e8c1abd
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 11:23:34 2022 +0200
d/*: make lintian happy
Fix trailing whitespace in "rules" and python->Python in "control".
Thanks lintian.
commit 3623d1e81bdf4e09404cb8541ccbc0d7ee33511f
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 11:09:08 2022 +0200
d/salsa-CI: don't crossbuild arm64
It fails in python3.10 configure area, not in our package.
commit 5ea0e2c8c26f85931cbee01dbebe44e57c6d21de
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 10:48:55 2022 +0200
d/changelog: bump debian version 0.10.0-2
Added python binding package
commit dc0f0e65d4cc5c3b27aa5f385f9e1d748867d2a5
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 10:32:49 2022 +0200
d/patches: Use python version as specified by pybuild
commit e6aa86d889ec711eae0e417b762847ac3c4240f3
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 10:03:22 2022 +0200
d/rules: create python packages for all python versions
commit 20829f57420fe6011b2cd5a47919f6d44a48446f
Author: Sebastian Spaeth <Sebastian@SSpaeth.de>
Date: Thu Oct 27 09:56:14 2022 +0200
d/control: Use dh-sequence-python3 and ${python:Depends}
To make nicer python packages.
commit 97e11245ba93543c2501345d16c37418a65f222b
Author: Sebastian Spaeth <sebastian@sspaeth.de>
Date: Thu Oct 27 08:56:48 2022 +0000
Update recipes/debian.yml@salsa-ci-team/pipeline file
Disable ARM64 crossbuild where --configure for python3 seems to fail and not our package
Among the 4 debian patches available in version 0.10.0-6.1 of the package, we noticed the following issues: