<div dir="ltr">For more context, I was cleaning up the remnants of the old overlay engine.  It had already been substantially removed in <a href="https://github.com/libgeos/geos/pull/788">https://github.com/libgeos/geos/pull/788</a>.  There were a few bits left, which were used internally only by the buffer algorithm.  It seems pretty unlikely that any external code uses just those pieces of the old overlay engine.  In fact, the cleanup didn't delete the code, but just moved it into the buffer package.  <div><br></div><div>But I realize now that #788 was done before 3.13.0 was released, so it appeared a "major" release.  My bad. </div><div><br></div><div>If it's a problem, it's easy to add the files back in.</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Tue, Mar 4, 2025 at 8:26 AM Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca">pramsey@cleverelephant.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>For a bit more context, the removed headers disappeared in this commit<div><br></div><div><a href="https://github.com/libgeos/geos/commit/f92d697680a281f8cc26d5591b42ffa8efc7818b" target="_blank">https://github.com/libgeos/geos/commit/f92d697680a281f8cc26d5591b42ffa8efc7818b</a></div><div><br></div><div>and the added headers came from this one</div><div><br></div><div><a href="https://github.com/libgeos/geos/pull/1239" target="_blank">https://github.com/libgeos/geos/pull/1239</a></div><div><br></div><div>Probably the removals were unnecessary, so “future learnings” maybe don’t remove files in stable branches just on principle. But from a practical perspective, no body will be harmed by the change, so I remain sanguine.</div><div><br></div><div>P<br id="m_9020688129407200470lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On Mar 4, 2025, at 7:39 AM, Paul Ramsey <<a href="mailto:pramsey@cleverelephant.ca" target="_blank">pramsey@cleverelephant.ca</a>> wrote:</div><br><div><div><br><blockquote type="cite">On Mar 4, 2025, at 5:33 AM, Greg Troxel <<a href="mailto:gdt@lexort.com" target="_blank">gdt@lexort.com</a>> wrote:<br><br> - the headers are part of the C++ API which is defined not to be<br>   stable, and not part of the C API, and therefore this is not an API<br>   break to the part of the API that is documented as usable?  (or<br>   something like that, that I am not understanding)<br></blockquote><br>1> Somewhat this, but not really. ABI stability has only been promised on the CAPI and as a result the vast majority of usage has been via CAPI. Anyone dropping a build package into a running system that is using the C++ ABI is sticking their fingers into the gears and might lose a digit.<br><br>2> Somewhat this, but not really. There are a billion C++ headers, but the “public API” does not, realistically, include all billion of them. Fixes of some issues resulted in headers moving around and some being taken out. <br><br><blockquote type="cite"> - the headers should not be installed because they aren't actually a<br>   public API?<br></blockquote><br>Well, ideally we might try and figure out which are the “public” C++ API and which aren’t but practically nobody has done that and inevitably as soon as you did that someone would show up complaining about the thing you took away that they absolutely require (not in this case though).<br><br><blockquote type="cite"> - we believe that no depending programs use these and therefore there<br>   won't be trouble?<br></blockquote><br>That’s the core of it.<br><br><blockquote type="cite"> - we don't expect changes on stable branches to be micro releases, and<br>   therefore they are not suitable for updates within packaging<br>   systems?<br></blockquote><br>At this point we are talking philosophy so I have nothing to offer. Your questions above hopefully clarify my nonchalance.<br><br>ATB,<br><br>P<br><br><blockquote type="cite"><br>I wonder about Debian, in terms of being willing to apply this update.<br><br>Specifically, 4 include files in include/geos/operation/overlay are no<br>longer present.<br><br>Index: PLIST<br>===================================================================<br>RCS file: /cvsroot/pkgsrc/geography/geos/PLIST,v<br>retrieving revision 1.28<br>diff -u -p -r1.28 PLIST<br>--- PLIST<span style="white-space:pre-wrap">       </span>8 Sep 2024 00:51:56 -0000<span style="white-space:pre-wrap">       </span>1.28<br>+++ PLIST<span style="white-space:pre-wrap"> </span>4 Mar 2025 13:24:59 -0000<br>@@ -44,6 +44,7 @@ include/geos/algorithm/hull/ConcaveHull.<br>include/geos/algorithm/hull/ConcaveHullOfPolygons.h<br>include/geos/algorithm/hull/HullTri.h<br>include/geos/algorithm/hull/HullTriangulation.h<br>+include/geos/algorithm/hull/OuterShellsExtracter.h<br>include/geos/algorithm/locate/IndexedPointInAreaLocator.h<br>include/geos/algorithm/locate/PointOnGeometryLocator.h<br>include/geos/algorithm/locate/SimplePointInAreaLocator.h<br>@@ -295,14 +296,18 @@ include/geos/operation/GeometryGraphOper<br>include/geos/operation/buffer/BufferBuilder.h<br>include/geos/operation/buffer/BufferCurveSetBuilder.h<br>include/geos/operation/buffer/BufferInputLineSimplifier.h<br>+include/geos/operation/buffer/BufferNodeFactory.h<br>include/geos/operation/buffer/BufferOp.h<br>include/geos/operation/buffer/BufferParameters.h<br>include/geos/operation/buffer/BufferSubgraph.h<br>+include/geos/operation/buffer/MaximalEdgeRing.h<br>+include/geos/operation/buffer/MinimalEdgeRing.h<br>include/geos/operation/buffer/OffsetCurve.h<br>include/geos/operation/buffer/OffsetCurveBuilder.h<br>include/geos/operation/buffer/OffsetCurveSection.h<br>include/geos/operation/buffer/OffsetSegmentGenerator.h<br>include/geos/operation/buffer/OffsetSegmentString.h<br>+include/geos/operation/buffer/PolygonBuilder.h<br>include/geos/operation/buffer/RightmostEdgeFinder.h<br>include/geos/operation/buffer/SegmentMCIndex.h<br>include/geos/operation/buffer/SubgraphDepthLocater.h<br>@@ -332,10 +337,6 @@ include/geos/operation/linemerge/LineMer<br>include/geos/operation/linemerge/LineMergeGraph.h<br>include/geos/operation/linemerge/LineMerger.h<br>include/geos/operation/linemerge/LineSequencer.h<br>-include/geos/operation/overlay/MaximalEdgeRing.h<br>-include/geos/operation/overlay/MinimalEdgeRing.h<br>-include/geos/operation/overlay/OverlayNodeFactory.h<br>-include/geos/operation/overlay/PolygonBuilder.h<br>include/geos/operation/overlay/snap/GeometrySnapper.h<br>include/geos/operation/overlay/snap/LineStringSnapper.h<br>include/geos/operation/overlay/snap/SnapOverlayOp.h<br>@@ -519,8 +520,8 @@ lib/cmake/GEOS/geos-config.cmake<br>lib/cmake/GEOS/geos-targets-release.cmake<br>lib/cmake/GEOS/geos-targets.cmake<br>lib/libgeos.so<br>-lib/libgeos.so.3.13.0<br>+lib/libgeos.so.${PKGVERSION}<br>lib/libgeos_c.so<br>lib/libgeos_c.so.1<br>-lib/libgeos_c.so.1.19.0<br>+lib/libgeos_c.so.1.19.2<br>lib/pkgconfig/geos.pc<br>Index: Makefile<br>===================================================================<br>RCS file: /cvsroot/pkgsrc/geography/geos/Makefile,v<br>retrieving revision 1.51<br>diff -u -p -r1.51 Makefile<br>--- Makefile<span style="white-space:pre-wrap">        </span>8 Sep 2024 00:51:56 -0000<span style="white-space:pre-wrap">       </span>1.51<br>+++ Makefile<span style="white-space:pre-wrap">      </span>4 Mar 2025 13:24:59 -0000<br>@@ -1,6 +1,6 @@<br># $NetBSD: Makefile,v 1.51 2024/09/08 00:51:56 gdt Exp $<br><br>-VERSION_BASE=<span style="white-space:pre-wrap">  </span>3.13.0<br>+VERSION_BASE=<span style="white-space:pre-wrap">  </span>3.13.1<br># Accomodate testing unreleased versions.<br>VERSION_RC=<br>VERSION=<span style="white-space:pre-wrap">        </span>${VERSION_BASE}${VERSION_RC}<br>Index: distinfo<br>===================================================================<br>RCS file: /cvsroot/pkgsrc/geography/geos/distinfo,v<br>retrieving revision 1.51<br>diff -u -p -r1.51 distinfo<br>--- distinfo<span style="white-space:pre-wrap">     </span>8 Sep 2024 00:51:56 -0000<span style="white-space:pre-wrap">       </span>1.51<br>+++ distinfo<span style="white-space:pre-wrap">      </span>4 Mar 2025 13:24:59 -0000<br>@@ -1,6 +1,6 @@<br>$NetBSD: distinfo,v 1.51 2024/09/08 00:51:56 gdt Exp $<br><br>-BLAKE2s (geos-3.13.0.tar.bz2) = 862b31b01bcae17488f24133f4205afdf3729b30cc5b654d3dba3697244a44a9<br>-SHA512 (geos-3.13.0.tar.bz2) = 8ffaa3f49a8365db693ac948e9d66cf55321eb12151734c7da2775070b7804ffa607de2474b7019d6ea2a99d5e037fb1e8561bf9025e65ddd4bd1ba049382b28<br>-Size (geos-3.13.0.tar.bz2) = 6801211 bytes<br>+BLAKE2s (geos-3.13.1.tar.bz2) = 78b9673090509c94aebb1fef4c1f2714ff004d2fd92ba1916bbe179e36c9a777<br>+SHA512 (geos-3.13.1.tar.bz2) = 38a6d8bb05b374160c6e5eb82e5f601915ee44e75bdba0414bb7b1096a62f3cdfbb877389998bd3ff4c77c98927ce95a8d8298dd599a0fcb8ea0e83f174f1744<br>+Size (geos-3.13.1.tar.bz2) = 6839955 bytes<br>SHA1 (patch-ae) = 253ae5cf5c2705a80d89d996507e3e94f2a11296<br></blockquote><br></div></div></blockquote></div><br></div></div></blockquote></div>