store names as {id: name, ...}, not [{id, name}, ...]
entries appear the same way, and js stores keys in the insertion order
fixup numbers converted to strings
fixup select options typing to accept [string, string] instead of [number, string]
> (node:1916) Warning: Closing file descriptor 31 on garbage collection
> (Use `node --trace-warnings ...` to show where the warning was created)
> (node:1916) [DEP0137] DeprecationWarning: Closing a FileHandle object on garbage collection is deprecated. Please close FileHandle objects explicitly using FileHandle.prototype.close(). In the future, an error will be thrown if a file descriptor is closed during garbage collection.
> (node:1916) Warning: Closing file descriptor 32 on garbage collection
per https://nodejs.org/api/deprecations.html#DEP0137
explicitly close after reading
move isChanged check to validator, always return both inputs for the given form
add assumeChanged?: boolean to opts, allowes forced check (similar to getData option)
small layout test for password and general forms, resolve#2613
attempt to make 'original' === undefined return consistent value
revert set:/del: merge, do not allow to miss key pruning
allow certain fields to have 'unset' state via 'required' attribute
ensure 'unset' fields cannot be added to data payload
generate ui tooltip when 'unset' field is created in a group or erased by user
ref. #2612