This release contains the following updates:

Ticket #Description
435Saving: a record saved twice at the same moment (for example a double tap on Save, on a new batch or batch quantity) no longer reports an error. The second save now updates the record the first one created.
436Receipts: clearing Line Cost on a receipt line no longer stops the line saving. An empty Line Cost now saves as 0.
437Reports: sensor recorder results can now be reported as one row per form, with a column set (rule, achieved temperature, achieved at, duration and status) for each target. Dynamic sensor recorders get a column set for each sensor, with the sensor's name.
438Forms: vertical tables can now label each row, for example Mix 1, Mix 2. Set Row Label on the table in the form builder, using {row_number} for the row's number. The label also appears on the form's PDF.
439Forms: on split tables, the list of rows now matches the height of the detail panel beside it, and scrolls within it when there are more rows than fit.
440Remote devices: filtering the IoT device list by Name no longer shows the error "name is not allowed".
441Remote devices: a sensor that is transmitting but cannot read its probe (it reports -327.6) now shows a red Probe badge in the IoT device list instead of that value as a temperature. The sensor recorder, dashboard sensor tiles and fault email now say "Probe disconnected" and to disconnect the probe and reconnect it firmly.
442Remote devices: a calibration date that was never set no longer shows as 1/01/70. Existing ones were cleared.
443Inventory: moving or adjusting finished goods or WIP stock from the Finished Goods/WIP tab no longer creates a second stock on hand row for the same batch with a best-before date. The movement now uses the dates of the stock it is taken from.
444Forms: a formula inside a checklist can now use the checklist's other fields, and recalculates as they are entered.
445Forms: a formula using a field whose label ends in a number (for example Number2) no longer shows #VALUE!. The form builder now explains which field labels a formula can use.