# From version 0.1.5 to 0.1.6:

- Three-dimensional coarse mesh generation for multigrid. In principle, this could be done by running `meshopt3d -s 2`. In practice, there is a useful optimization that allows rapid removal of nearly all of the extra vertices from the coarse mesh. `coarsen3d` does this, and then behaves just like `meshopt3d`.
- Two-dimensional scattered data interpolation. A new executable, `scat2d`, has been added for this.
- Default optimization parameter in 3D is now to swap and smooth, rather than using the much more expensive refine-to-length scale.
- Improved quality of initially-generated meshes in 3D.
- Improved speed for refine-to-length in 3D.
- HTML documentation added, both on the GRUMMP web page and in the doc/html directory in the distribution.
- Two new quality measures in 2D. These are actually measures that were already advertised -- ratio of incircle to circumcircle radius, and ratio of area to perimeter squared. However, in version 0.1.5 and previously, these measures were not implemented properly.
- Surface vertex removal in 3D. There are a number of special cases that had to be implemented before this was safe.
- Unified smoothing calls in 3D. In version 0.1.5, surface smoothing was enabled only when smoothing all vertices in the mesh. With the consolidation of some duplicate code, this problem has been fixed.
- Internal code cleanup and optimization.
- Made logging more systematic.