Skip to content

v0.13.0

Choose a tag to compare

@jmr jmr released this 01 Dec 09:09
· 124 commits to master since this release
ed62eee

Interface Changes

  • Bump required versions
    • abseil-cpp: LTS 20250814
    • clang: 14
    • CMake: 3.22
    • OpenSSL: 1.1
  • Require C++17

Fixes/enhancements

  • New function: S2DensityTree::Dilate
  • S2CellId: Make lookup tables constexpr, removing runtime init
  • New S2Cell::IsDistanceLess and related predicates
  • Do not use #pragma STDC FP_CONTRACT off for gcc to try to
    prevent warnings. gcc has its own pragma (which was always
    used)
  • Switch some ABSL_LOG(ERROR)s to DFATAL
  • New functions
    • MutableS2ShapeIndex::Remove()
    • S2EdgeVectorShape::set_dimension()
    • S2Polygon::MakeFull()
  • Modernize ExactFloat interface
    • Replace exactfloat::is_nan() with isnan(const ExactFloat&)
    • Replace ToDouble() with explicit operator double()
    • Add fpclassify(const ExactFloat&)
  • Fix S2ShapeNestingQuery when two chains share a vertex
  • Fix S2Polygon bug when intersecting polyline
  • Add S2ClosestEdgeQuery::VisitClosestShapes
  • Delete deprecated S2Error::text(); use message() instead
  • Ensure _fp_contract_off.h is included everywhere
  • Add thread annotations to SpinLock
  • Convert many const vector<>&s to Span<>s
  • Add noexcept to move operators
  • Make some comparisons stable for sorting
  • Guard against overflow in Decode functions
  • Remove S2_DEFINE_* flags macros and use ABSL_FLAG directly

What's Changed

  • Fixed where cc_configure_extension comes from. by @vtsao-openai in #410
  • S1Angle::SinCos: Disable sincos for glibc by @jmr in #414
  • workflows: Disable macos and enable ubuntu-22 by @jmr in #412
  • Fix some comments in s2builderutil_snap_functions by @rsned in #418
  • Update s2builder.h comments by @rsned in #419
  • CMakeLists: Make installation optional by @idevtm in #421
  • CMakeLists: Work around clang sized dealloc bug by @jmr in #422
  • dependabot.yml: Add daily github-actions update by @jmr in #424
  • MODULE.bazel: Update by @rsned in #427
  • test.yml: build with --parallel by @jmr in #429
  • test.yml: Run with ctest --parallel by @jmr in #430
  • GetCommonAncestorLevel: work around bit_width return type bug by @idevtm in #431
  • Try to fix CMakeLists.txt by @MBkkt in #433
  • Fix warnings by @MBkkt in #436
  • Remove incorrect thread-safety annotation by @MBkkt in #437
  • Update to 2025-07-09 google3 version by @jmr in #440
  • README.md: Bump abseil-cpp and C++ version by @jmr in #444
  • exactfloat: Replace port.h macros with absl::endian by @jmr in #445
  • Publish smcallis's username by @jmr in #443
  • Add design docs for S2ValidationQuery by @smcallis in #442
  • Add tag_regex for dynamic version by @b4rdos in #451
  • Update to 2025-09-24 google3 version by @jmr in #454
  • Fix bazel build by @jmr in #455
  • bazel.yml: Add Bazel workflow by @jmr in #459
  • Update to 2025-10-24 google3 version by @jmr in #465
  • Update to 2025-11-06 google3 version by @jmr in #472

New Contributors

Full Changelog: v0.12.0...v0.13.0