What a version bump means for the language and the ruleset.
Stability
Four requirements. A change to the language has to keep all four.
Small. You can read a whole app. The reserved-word cap is 40, and it is full. A new reserved word replaces one. Every other word is recognized only in its place, and it is still a name elsewhere.
Closed. If it compiles, the platform can run it. Effects, blocks, and operators come from the lists in the reference. A word that is not listed is not in the language. There are no loops, no calls, no conditionals, and no imports.
Lossless round trip. The Studio, the source, and the installed app are the same document. Compiling a source and decompiling the result gives that document back. Where the short spelling cannot say a value, a literal form can, so nothing the platform stores is left unsaid.
The formatter never runs unless you ask. yokec fmt is a separate command. Compile and check do not reformat the file. An edit rewrites the lines it changes and leaves the rest, comments included.
Language 1.0
Language 1.0 is the format contract. The version names the compiled document, and it changes when that document changes.
The spec line in a source names the document version the file claims. A newer major is refused. A file that says spec 2.0 does not compile against language 1.0. A minor within 1 is accepted.
Ruleset 1.1
The ruleset is 1.1. Its ids are the pages under /error.
Adding a rule, or lowering a default severity, is a minor bump. Renaming an id, raising a severity, or changing which rules a profile selects is a major bump.
How a change lands
There is no public proposal process. A change to the language is a change to what a source may say, and the reference is regenerated from that change.