Release_iOS-18-0_macOS-15-0

This commit is contained in:
Cyrus Daboo
2024-09-11 15:52:55 -04:00
parent dcc320a6a6
commit 85fae8ac89
140 changed files with 2312 additions and 303 deletions
+33 -9
View File
@@ -2,13 +2,37 @@
This document lists errata for the YAML schema. This is used when older versions of the schema are incorrect, and a fix was made in later schema to correct the problem.
## iOS 18 / macOS 15
### tvOS
tvOS `introduced` values have been set to a minimum value of `9.0` to reflect the first version of tvOS itself, as opposed to earlier versions of the Apple TV Software.
### declarative/declarations/configurations/account.exchange.yaml
The `<service>Active` keys were incorrectly marked as unsupported on macOS.
### mdm/profiles/com.apple.ManagedClient.preferences.yaml
The `PayloadContent` key of the `com.apple.ManagedClient.preferences` profile
payload was incorrectly named `PreferenceDomain`; the key itself also represents
a dictionary of application preference domain identifiers to
`ManagedPreference.PreferenceDomain`s (rather than a single
`ManagedPreference.PreferenceDomain`).
### mdm/profiles/com.apple.cellularprivatenetwork.managed.yaml
iOS 17 supported multiple private network payloads, but the `multiple` key was set to false.
iOS 17 also mistakenly forbade multiple private network payloads in a single profile.
## iOS 17 / macOS 14
### profiles/com.apple.education.yaml
### mdm/profiles/com.apple.education.yaml
The `GroupBeaconIDs` key in the `DepartmentsItem` dictionary in the `com.apple.education` profile payload incorrectly listed its type as an array of `string`. The correct type is an array of `integer`.
### profiles/com.apple.vpn.managed.yaml
### mdm/profiles/com.apple.vpn.managed.yaml
The `CertificateType` key in the `com.apple.vpn.managed` profile payload incorrectly listed `Ed25519` as a supported certificate type. That type was never supported and has now been removed.
@@ -18,32 +42,32 @@ There were a number of keys in the VPN dictionary that were implied to appear in
The `ActionParameters` key in the profile payload has always been an array of dictionaries.
### mdmprotocol/commands passcode.firmware.set.yaml passcode.firmware.verify.yaml
### mdm/commands passcode.firmware.set.yaml passcode.firmware.verify.yaml
The response keys were incorrectly listed as being top-level keys in the response dictionary when in fact they were nested one-level deep.
### profiles/com.apple.vpn.managed.applayer.yaml
### mdm/profiles/com.apple.vpn.managed.applayer.yaml
The `OnDemandMatchAppEnabled` key in the `com.apple.vpn.managed.applayer` profile payload incorrectly listed its type as `integer`. The correct type is `boolean`.
### profiles/com.apple.wifi.managed.yaml
### mdm/profiles/com.apple.wifi.managed.yaml
The EAPClientConfiguration dictionary listed both OneTimePassword and OneTimeUserPassword as valid keys. The erroneous OneTimePassword key has been removed.
### profiles/com.apple.security.scep.yaml
### mdm/profiles/com.apple.security.scep.yaml
The documentation indicated that all the keys in the SubjectAltName value could be either string or array types. The ntPrincipalName cannot be an array and must be a
string. This has been clarified in the description. Note that the type field for the rfc822Name, dNSName, and uniformResourceIdentifier still indicates these are
strings. This has not been corrected as the schema does not support polymorphic types.
### profiles/com.apple.universalaccess.yaml
### mdm/profiles/com.apple.universalaccess.yaml
The `contrast` key in the `com.apple.universalaccess` profile payload incorrectly listed its type as `integer`. The correct type is `real`.
### profiles/com.apple.extensiblesso.yaml
### mdm/profiles/com.apple.extensiblesso.yaml
The `AuthorizationGroups` key was updated as the key values-pairs in the dictionary were incorrectly stated.
### profiles/com.apple.dnsSettings.managed
### mdm/profiles/com.apple.dnsSettings.managed
The `ActionParameters` key in the `com.apple.dnsSettings.managed` profile payload has always been an array of dictionaries.
+58 -5
View File
@@ -14,6 +14,7 @@ The definition of the schema used here is in the `schema.yaml` file. That file c
| payloadkeys | array | A list of YAML objects representing the command request |
| responsekeys | array | A list of YAML objects representing the command response |
| reasons | array | A list of YAML objects representing declarative device management status reason codes |
| notes | array | A list of YAML objects representing additional notes for the schema item as a whole |
### Payload Object
@@ -95,8 +96,9 @@ The `mode` can have one of four values: `allowed`, `required`, `forbidden`, and
| title | string | The title of the key |
| supportedOS | object | Identifies the range of supported OS versions that support the key |
| type | string | The type of key |
| subtype | string | Indicates the expected format of the string value of the key |
| assettypes | string | Indicates the set of allowed asset types |
| subtype | string | Indicates the expected format of the string value of the key (deprecated) |
| valuetype | string | Indicates the expected format of the string value of the key |
| assettypes | array | Indicates the set of allowed asset types |
| presence | string | Whether the key is required or optional |
| rangelist | array | List of allowed values for this key |
| range | object | Bounds for the value of this key |
@@ -110,11 +112,62 @@ The `mode` can have one of four values: `allowed`, `required`, `forbidden`, and
__Notes__
The `type` value can be one of: `<string>`, `<integer>`, `<real>`, `<boolean>`, `<date>`, `<data>`, `<array>`, `<dictionary>`, or `<any>`. The value `<any>` may be used to indicate that any of the standard values can be used without any expectation that the value will be validated.
The `subtype` key is deprecated in favor of the `valuetype` key.
The `subtype` value can be one of: `<url>`, `<hostname>`, or `<email>`, to indicate the expected value of a string.
The `presence` value must be one of: `required` or `optional`.
The `presence` value can be one of: `required` or `optional`.
#### Type Values
| Name | Description |
|---------------|-------------|
| \<string> | A string value |
| \<integer> | An integer value |
| \<real> | A real value |
| \<boolean> | A boolean value |
| \<date> | A date value (deprecated) |
| \<data> | A data value |
| \<array> | An array value |
| \<dictionary> | A dictionary value |
| \<any> | Any standard value |
__Notes__
If the `<string>` value is used, the `valuetype` key may also be specified to define a specific format for the string (see below).
The value `<any>` may be used to indicate that any of the standard values can be used without any expectation that the value will be validated.
The `<date>` value is deprecated. Instead `<string>` will be used with a suitable `<valuetype>` set to indicate one of several date-time formats.
#### Valuetype Values
`domain`
: The string value is a domain name. This is an exact match (i.e., `example.com` will match `example.com` and will not match `test.example.com`, `1example.com`, `example.com2`).
`domain-prefix`
: The string value is a domain name pattern, with matching rules as follows:
* If the string starts with a `*.`, the pattern will match any sub-domain of the parent domain, but not the parent domain itself (i.e., `*.example.com` will match `test.example.com` and will not match `example.com`, `test.1example.com`, `test.example.com2`).
* If the match prefix is not present, the pattern will match the exact domain only (i.e., `example.com` will match `example.com` and will not match `test.example.com`, `1example.com`, `example.com2`).
`email`
: The string value is an email address conforming to the syntax of [RFC 5322](https://www.rfc-editor.org/rfc/rfc5322.txt). e.g., `user@example.com`.
`hostname`
: The string value is a hostname, IPv4 address, or IPv6 address (with the IPV6 literal enclosed in square braces). e.g., `server.example.com`, `10.0.1.1`, `[fe80::1]`.
`localtime`
: The string value is a date and time conforming to the syntax of [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.txt) without a `time-offset` or `time-secfrac` element: `YYYY-MM-DDTHH:MM:SS`. e.g., `2023-09-21T12:00:00`.
`regex`
: The string value is a regular expression.
`timestamp`
: The string value is a date and time conforming to the syntax of [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339.txt) with a `time-offset` element, and without a `time-secfrac` element: `YYYY-MM-DDTHH:MM:SSZ` or `YYYY-MM-DDTHH:MM:SS+ZZZZ`. e.g., `2023-09-21T12:00:00Z`, `2023-09-21T12:00:00-0500`.
`url`
: The string value is a URL conforming to the syntax of [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986.txt).
`uuid`
: The string value is a 36-character UUID, with both lowercase and uppercase hexadecimal digits allowed.
### Range Object
+18
View File
@@ -369,3 +369,21 @@ properties:
note:
type: string
description: A description of the relationship.
notes:
type: array
description: An array of additional notes about a payload. These are published to the open source repository.
items:
type: object
description: An additional note about a payload. A note is written in "markdown" and can be transformed to HTML if needed.
additionalProperties: false
required:
- title
- content
properties:
title:
type: string
description: Title for the note.
content:
type: string
description: The note content in "markdown" format.