# From version 0.1.7 to 0.2.0:

- Improved robustness in initial tetrahedralization. A few cases still fail, but changes to the heuristics used in surface recovery break other cases. An area of vast improvement over version 0.1.7, but more work is still needed.
- Support for curved boundaries in two dimensions. Circles, circular arcs, and splines are supported, as well as straight line segments. See the documentation for `tri` for details about file format.
- Guaranteed-quality meshing. In 2D, GRUMMP now generates meshes with all angles greater than 30°, except near input angles smaller than about 60°. In 3D, the theoretical guarantee is on the ratio of edge length to circumradius; in practice, with smoothing GRUMMP produces 3D meshes for ``thick'' domains with dihedral angles in excess of 18°-20° (except, again, near small angles in the input). A bonus with these new algorithms is that mesh generation is actually faster than in version 0.1.7. (It hardly seems fair that such a massive change in the internals of the code lead to only one item in the change list...)
- Improved length scale calculation. GRUMMP now uses, in both 2D and 3D, a much better approximation to the true local geometric feature size.
- Global control of cell size relative to feature size and of the rate of change of cell size (grading). Both of these accompany the improved length scale calculation.
- Change in output format for multi-domain meshes. Because of internal changes in data representation, output file format has been changed for multi-domain meshes. As a result, two default file format templates now exist, one each for single- and multi-domain cases.
- Internal cleanup continues. Quite a bit of obsolete code has been deprecated, and many of these pieces have been removed from the distribution.