2.2.0 (2025-07-31)
## New Features (Feat)
- !455: feat(Simplification): Add a wrapper around CGAL 2D simplification (Loïc Bartoletti)
- !383: feat(cmake config): add a modern CMake Find (Loïc Bartoletti)
## Bug Fixes (Fix)
- !523: fix(Simplification): Add validitiy check (Loïc Bartoletti)
- !522: fix(Algorithm): Visibilty returns empty polygon if one input is empty (Loïc Bartoletti)
- !520: capi: fix missing @post documentation (Benoit D.-M.)
- !516: fix(StraightSkeleton): Return POLYHEDRALSURFACE EMPTY if input geometry is empty (Loïc Bartoletti)
- !511: Extrude Straigth Skeleton: Fix geometry validity removing roof bottom (Loïc Bartoletti)
- !510: fix(ci): Ignore deleted files in doxygen check (Jean Felder)
- !499: fix(intersection): handle multiple intersection points for segment-solid intersection (Loïc Bartoletti)
- !490: fix(capi): Mark sfcgal_triangulated_surface_add_triangle as deprecated (Jean Felder)
- !489: fix(centroid): Fix ignored attribute warning (Jean Felder)
- !483: fix(alphaShapes): handle missing optimal alpha iterator properly (Loïc Bartoletti)
- !480: fix(capi): Fix patches typo in documentation (Jean Felder)
- !479: fix(polyhedralsurface): Fix wrong variable name (Jean Felder)
- !478: fix(ci): Upload clang-tidy artifact on failure (Jean Felder)
- !477: fix(capi): Fix sfcgal_geometry_alpha_wrapping_3d documentation (Jean Felder)
- !474: fix(triangulatedsurface): Use correct plural form for patch (Jean Felder)
- !461: Treat PolyhedralSurface and TriangulatedSurface as one geometry instead of a Collection of Polygons/Triangles (Jean Felder)
## Improvements (Improve/Update)
- !508: chore(release): Specify that the sonar file needs to be updated (Jean Felder)
- !506: refactor(Primitive-3D): Move sphere and cylinder to a dedicated primitive3d folder (Loïc Bartoletti)
- !496: docker: Add missing files to compile (Jean Felder)
- !493: refactor: Use " instead of <> for SFCGAL header (Loïc Bartoletti)
## Continuous Integration (CI)
- !503: chore(ci): Allow failure of the windows jobs (Jean Felder)
- !500: chore(ci): Add a job to build latest macos version as a brew package (Jean Felder)
- !495: ci and pre-commit: Apply clang-format on the test directory too (Jean Felder)
- !492: Add CI markdown (Loïc Bartoletti)
- !491: chore(ci): Also test fedora 42 (Jean Felder)
- !488: chore: replace CI_COMMIT_REF_NAME var by %{source_branch} in MR template (Benoit D.-M.)
- !484: chore(BSD CI): Use Github actions (Loïc Bartoletti)
- !482: chore(ci): Improve doxygen config file to avoid false positives (Jean Felder)
- !476: ci: check doxygen warnings (Jean Felder)
## Documentation (Docs)
- !481: Capi doc fixes (Jean Felder)
- !473: capi: force the value of CGAL error behaviour to THROW_EXCEPTION in sfcgal_init() (Benoit D.-M.)
## Tests (Tests)
- !515: sfcgal-config: Define CMAKE_INSTALL_FULL_LIBDIR if not defined and add unit test for sfcgal-config --libs (Loïc Bartoletti)
- !502: chore(clang-tidy): Disable readability-magic-numbers check in test (Jean Felder)
- !497: tests(bin): Do not install tests bin (Loïc Bartoletti)
- !487: tests(AlphaWrapping): Workaround for tests (Loïc Bartoletti)
## Chore / Maintenance (Chore)
- !518: build: Add an option to compile with thread sanitizer (Jean Felder)
- !514: chore(clang-tidy): Ignore use-trailing-return-type warning in capi (Jean Felder)
- !512: chore(build): Post release bump version (Jean Felder)
- !509: chore(sonar): Bump version number to 2.1.0 (Jean Felder)
- !507: chore(ci): Fix gitlab pages deploy job (Jean Felder)
- !505: chore(clang-tidy): Ignore some default names in readability-identifier-length (Jean Felder)
- !504: chore(sfcgal_cTest): Fix clang-tidy warnings (Jean Felder)
- !494: style: apply clang-format to example and test (Loïc Bartoletti)
- !485: chore(MR): Add template (Loïc Bartoletti)
- !475: chore(2.1.0): Prepare 2.1.0. Add NEWS (Loïc Bartoletti)
- !462: chore: add commitizen to the project (Jean Felder)
## Misc
- !521: Fix license years (Loïc Bartoletti)
- !517: Ensure that all source files contain copyright and license info (Jean Felder)
- !501: IO: Add STL export (Loïc Bartoletti)
- !498: Added square logo for SFCGAL (Sylvain Beorchia)
- !486: Workaround for alpha wrapping segfault with gcc 15.1 (Jean Felder)
- !384: Nix cmake (Loïc Bartoletti)