New query function: TileInterpolateTriangulationSeg - takes a drawing with geoms with Z values and interpolates them using constrained triangulation keeping segments from lines and areas. There is a boolean parameter that controls whether to improve triangulation of contours using DEST (true = use DEST).
New query function: TileInterpolateTriangulationSegPar - a parallel variant of TileInterpolateTriangulationSeg.
New query function: TileInterpolateGravity - takes the same parameters as kriging sans the model and interpolates data using gravity formulae, similarly to 8. (There is no parallel variant, because preparing interpolation data for gravity does not benefit from using multiple threads, although producing tiles does.)
The Help menu includes the new Context Help command bound to F1, which shows quick reference guide for the current component window. If there are no opened components, the command shows general keyboard and mouse reference.
Migrating views from MAP files created by 8 better scales views for lat/lon maps.
The context menus used by parameter pickers in the Select and Transform panes show icons for Value and Expression commands and show current choice. The icon for Value depends on the parameter type. The icon for Expression is changed from 'operator' to 'function'.
Parameter pickers in the Select and Transform panes clean xN values and produce VectorMakeXn(...) calls for the query.
The Vector Value transform is split into Vector x2 Value, Vector x3 Value, Vector x4 Value. This disambiguates the type of parameter value and allows parameter pickers to clean it (previously, entered text was going into the query verbatim).
(Fix) Previewing the result of a transform in a table window converts the result of the transform to the target field type. (Previously, the values were only converted when the transform was being run, and the preview could have been misleading.)
The Select and Transform panes specify component parameters using parameter pickers.
Transforms that use collate parameters embed the collate value as a plain numeric code instead of a fairly involved call to Collate(...).
Transforms that use regular expressions embed the case switch as a plain string instead of a CASE statement.
Many (the majority of) transforms specify the 'main' transform parameter which gets auto-set to the target field. (Example: Upper Case will set its only parameter to the target field, because that's the most common use. Previously, selecting Upper Case would set the parameter to an arbitrary field. Further, after the user would select the correct field, run the transform, then switch to another field and try to do Upper Case on the new field, the system would rather unhelpfully set the parameter to the previous already-uppercased field.)
The Select and Transform panes use parameter pickers for numeric and text parameters that have previously been specified using a textbox but can be set to be taken from a field. (This includes parameters like buffer size or tolerance. By default, the parameters are still set to use fixed values like 1 or 0, but the user can quickly switch to use a field. Quoting entered strings is no longer necessary.)
Renamed transforms: Enclosing Rect, Rotation Allowed -> Enclosing Rect with Rotation, Is NULL -> Null Values, Is not NULL -> Non-null Values. Renamed transform parameters: DX -> Delta X, DY -> Delta Y, Pattern (when used by Like) -> Pattern (%_).
Parameter pickers sort fields and components alphabetically. The Transform pane sorts target fields alphabetically.
End of list.