The Style tab of the Record pane arranges style pickers similarly to the Style pane and includes a separate picker for full style.
The query engine allows inlining a call to an arbitrary aggregate query function with a variable number of arguments using INLINE: INLINE Max(3, 4, 5) or INLINE Covar(1, 1, 2, 5, 3, 6, 4, 1). If the aggregate function takes more than one argument, the number of arguments passed to the inline call has to be a multiple of that.
StringJoinTokens aggregate query function uses a personalized separator for each passed value. (Previously, the function was always using the first passed separator value and ignoring all other values.)
Query builder descriptions for clauses and functions have been cleaned up to use the same terms as much as possible - we are now only using '<query>' when we mean a query component, otherwise we are using '<table>', etc.
Renamed transform template: Maximum Value -> Limit Low (parameters - Value: / At least:).
Renamed transform template: Minimum Value -> Limit High (parameters - Value: / At most:).
New transform template: Limit (parameters - Value: / At least: / At most:).
New transform templates for tiles: Limit / Limit Low / Limit High - limit pixel values from one or both sides.
Removed query functions that are no longer needed after INLINE: GeomMergeAreasPair, GeomMergeLinesPair, GeomMergePointsPair, GeomUnionAreasPair, GeomUnionRectsPair, ValueMax, ValueMin. Renamed query function: GeomIntersectLinesPair -> GeomIntersectLines.
TileFill query function is reworked to keep the original tile type and accept xN values. (Previously, the function was forcing the tile to FLOAT64.) New transform for single-channel images: Fill.
New query function: TileFillMissing - fills invisible pixels in a tile with the specified value and makes them visible. Keeps the original tile type. New transform for single-channel images: Fill Missing.
TileCombine query function is renamed to TileFillMissingCopy and reworked to keep the original tile type (was forcing both tiles to FLOAT64) and do nothing if tile sizes do not match (was returning NULL).
New query function: TileFillMissingNearest - fills invisible pixels in a tile with values of first found visible pixels in the specified radius. Keeps the original tile type. New transform for images: Fill Missing Nearest.
Exporting SHP writes character data to DBF as UTF-8 and produces CPG file describing the encoding in DBF as UTF-8 for third-party products.
Exporting DBF (including as part of SHP) computes maximum length of each text field, increases it to the nearest multiple of 8 to accommodate for future edits, and uses that as DBF field length. (DBF files cannot store fields longer than about 250 characters. Previously, all text fields were exported with maximum length, this was wasting a lot of space and making text field sizes snowball in third-party products.)
Reading TIFF reads mask images.
Reading TIFF reads Z offset / scale / unit data if available.
Reading TIFF recognizes GDAL metadata and no longer reports it as unrecognized. (The metadata itself is appended into a comments component - now with Unix line ends converted to Windows.)
Exporting images to BIL, FLT, XYZ and other formats applies Z offset / scale to pixel values.
(Fix) Reading GRD Surfer no longer sometimes fails.
(Fix) Hotine oblique Mercator no longer uses a wrong default value for missing rectified grid angle.
(Fix) Reading TIFF no longer sometimes misreads CIELab images.
Specifying style for image channels allows reverting data by setting channel minimum value to be higher than channel maximum value. (For example, switching the bounds for the improperly interpreted alpha channel from min = 0, max = 255 to min = 255, max = 0 will invert the interpretation without doing anything to the stored pixel values.)
Reading TIFF no longer reorders channels in color images to BGR and no longer inverts A from 0 = fully transparent to 0 = fully opaque. Instead, all data necessary to properly display the image is put into its style.
End of list.