In the Draft 4 JSON Schema Standard a schema is represented by an JSON Object. So where ever a schema specification is required it must be described using a JSON Object, this includes Properties, Pattern Properties, Property Names, Items, Contains, AllOf, AnyOf, OneOf, Not, If Then Else, Schema Dependency etc.
The exception to this was the Additional Items and the Additional Properties properties which could be represented as a boolean, with true meaning allow all, and false meaning deny all.
From the Draft 6 version of the JSON Schema Standard onwards, anywhere that requires a definition for a JSON Schema could represent it as an object (as before) or as boolean (as was only possible with Additional Items and the Additional Properties).
In order to change the representation used within the schema, a property has been added to the schema object allowing its representation to be changed.