- Environment variables would be ignored if they should have matched an unnamed
property (i.e. one defined by
additionalProperties
orpatternProperties
) that had a schema usingallOf
,anyOf
oroneOf
. Now all schemas listed by those in-place applicators will be used when searching for matching environment variables.
- Parsing env var values with schema type
object
would also accept other JSON types. - Parsing numbers would accept a wider range of values than are allowed by
the JSON specification. In particular, an empty string would be parsed as
0
, and hexadecimal, octal and binary numbers were also allowed. - Parsing booleans would match
true
andfalse
case-insensitively. Matching is now case-sensitive to give the documented behaviour, and for consistency.
- The ability to truncate a config property array to the length of the override
value array when setting a property value for each element of the array. To
enable this, set
truncateTargetArrays: true
in the options object passed intooverrideArrayValues()
. - The ability to extend a config property array to the length of the override
value array when setting a property value for each element of the array. To
enable this, set
truncateTargetArrays: true
in the options object passed intooverrideArrayValues()
. Each new element will be set to an object that contains no properties other than the target property or any of its ancestor object(s).
- Environment variables that apply a value to a property of each element of an array are now processed before environment variables that apply the same value to a property of every element of an array. This is so that if an array is extended, setting a property for every element will include the array's new elements.
Initial release.