CGAL 3.7 offers the following improvements and new functionality over CGAL 3.6.1:

## Changelog

### General

- The configuration of CGAL libraries now requires CMake>=2.6.
- Changes in the set of supported platforms:
- GNU g++ 4.5 supported (with or without the compilation option -std=c++0x).
- Initial support for the option -strict-ansi of the Intel Compiler 11. The CGAL libraries compile with that option, and most CGAL headers have been fixed. The packages “3D Boolean Operations on Nef Polyhedra” (Nef_3), “Convex Decomposition of Polyhedra” (Convex_decomposition_3), and “3D Minkowski Sum of Polyhedra” (Minkowski_sum_3) are known to still fail to compile with that compiler flag.
- The Microsoft Windows Visual C++ compiler 2010 (VC10), that was experimentally supported by CGAL-3.6.1, is now fully supported. Note that CMake>=2.8.2 is required for that support.
- The Microsoft Windows Visual C++ compiler 2005 (VC8) is no longer supported by the CGAL project since CGAL-3.7.
- With Microsoft Windows Visual C++ (VC9 and VC10), the optional dependencies Gmp, Mpfr, Blas, Lapack, Taucs no longer use Boost-style name mangling. Only one variant is now provided by the CGAL Windows installer (release, with dynamic runtime).

- Some demos now require a version of Qt4 >= 4.3.
- CGAL_PDB is no longer provided with CGAL. An alternative solution for people interested in reading PDB files is to use ESBTL (http://esbtl.sourceforge.net/).
- Fixed issues of the CGAL wrappers around the CORE library, on 64 bits platforms.

### Arithmetic and Algebra

- New models
`Algebraic_kernel_d_1`

and`Algebraic_kernel_d_2`

for the corresponding concepts. They provide generic support for various coefficient types.

### Arrangements

- A new model
`Arr_algebraic_segment_traits_2`

of`ArrangementTraits_2`

that supports algebraic curves of arbitrary degree in the plane

### 2D Triangulations

- The Delaunay and regular 2D triangulations now use a symbolic perturbation to choose a particular triangulation in co-circular cases.
- The return type of the template member function
`insert(It beg, It end)`

, taking an iterator range of points, has been changed from int to`std::ptrdiff_t`

. - Classes
`Triangulation_euclidean_traits_xy_3,`

`Triangulation_euclidean_traits_yz_3`

and`Triangulation_euclidean_traits_xz_3`

are now model of the concept ConstrainedTriangulationTraits_2. They can be used with and without intersection of constraints. - 2D Delaunay and basic triangulations now provide vertex relocation
by the mean of these two new methods: move and
move_if_no_collision. The methods are also available for the
hierarchy (
`Triangulation_hierarchy_2`

).

### 3D Triangulations

- The return type of the template member function
`insert(It beg, It end)`

, taking an iterator range of points, has been changed from int to`std::ptrdiff_t`

. - 3D Delaunay triangulations now provide vertex relocation by the mean
of these two new methods: move and move_if_no_collision. This
works in both
`Compact_policy`

and`Fast_policy`

.

### 2D and 3D Alpha Shapes

- The type
`int`

in the API has been changed to`std::size_t`

so that CGAL can deal with large data sets (64 bit addresses).

### 2D Mesh Generation

- The execution of the 2D mesh generator is now deterministic (same at each run).

### 3D Mesh Generation

- The efficiency of the 3D mesh generator has been improved (the
number of calls to the oracle per inserted vertex has globally
decrease). This is achieved through a slight change of the mesh
generator strategy which implies that a surface component that is
not detected at the surface mesher level will never be discovered by
chance, owing to the refinement of some tetrahedra, as it could
happen before. Please note that defining the macro
`CGAL_MESH_3_USE_OLD_SURFACE_RESTRICTED_DELAUNAY_UPDATE`

switches back to the old behavior. - A demo program is now available.

### Surface Reconstruction from Point Sets

- Improved performance and minor bug fix.

### 2D Range and Neighbor Search

- The type
`int`

in the API has been changed to`std::size_t`

so that CGAL can deal with large data sets (64 bit addresses).